geekhack Projects > Making Stuff Together!

[BUILD] Magic Keyboard 2 but mechanical

<< < (2/7) > >>

Havattack:
Your'e a cool guy, and you do cool things.

I am impressed.

Limentic:
Thank you, everyone, for the support! It truly boosts my motivation to keep pushing forward with this project :D

I apologize for the lack of progress this month. I've been busy preparing for my move, which is scheduled for the end of this month. I anticipate that I'll be able to resume work at the beginning of September.

Now, I've got a question for you all. Does anyone know how I can import this AutoCAD drawing to the Cu.F layer in the KiCad footprint editor?


I've managed to successfully import the outline of the FPC, but I'm currently facing challenges with the pins.


My goal is to replicate the Touch ID FPC. This replication will allow me to create a custom flex PCB, which in turn will aid me in reverse engineering the ribbon that connects the motherboard to the sensor. Additionally, I'm aiming to determine the connection of the tactile button beneath the Touch ID sensor on that ribbon, if such a connection exists.

Thanks in advance, guys, for any answers you provide ;)

HeuristicBishop:
Hey @limentic
Good to see I’m not the only one who wants to do silly things.
Over the past couple weeks I’ve done much of the exact same work on my Apple Magic Keyboard (non-touch)

My goal is a little different, I actually want to *remove* the Apple controller and hook the matrix up to a custom microcontroller (probably a kb2040 or similar)
Two sides of the same coin it seems  ;D

My approach to mapping the matrix was to hook up the matrix to a micro controller and snoop it as I pressed the keys. This generates a map of key to pin pair…in theory anyway. I should know for sure in the next week or so. Waiting on a microcontroller with enough gpio onboard so I don’t need to futz with expanders or anything like that. (I’ll share everything once it’s proven out)

How am I connecting the matrix to the controller? Good question!
I did a bit of surface mount rework to pull the (impossible to find) ribbon connector off and drop it on a 40pin idc breakout board.

I did not find this post before starting or I’d have tried to collaborate a bit. If I pick up a Touch ID board I’ll do some work to try and help you out with your quest 🙂

Let me know if you have any questions/comments or want me to work on anything specific. (Maybe a dedicated little pcb to adapt the Apple pinout to breakout for easier development 🤷‍♂️)
Good luck with the move!

ItsPasi:
I also want to do the same as you @HeuristicBishop ^^

Problem with me is I have no knowledge of these things so when you are done with your project I hope you can help me out doing this myself.

Kind of awesome multiple people try to tinker around with this specific keyboard,

Limentic:
Hello @HeuristicBishop! Apologies for the delayed response; I've been caught up with my move.


--- Quote from: HeuristicBishop on Mon, 28 August 2023, 17:15:14 ---Hey @limentic
Good to see I’m not the only one who wants to do silly things.
Over the past couple weeks I’ve done much of the exact same work on my Apple Magic Keyboard (non-touch)

--- End quote ---

--- Quote from: HeuristicBishop on Mon, 28 August 2023, 17:15:14 ---I did not find this post before starting or I’d have tried to collaborate a bit.

--- End quote ---
It's pretty crazy, isn't it? At least you've found my thread now! Your project is quite fascinating, and I believe you can leverage a significant portion of my work :D

Regardless of whether you're using an ANSI or ISO keyboard layout, the physical matrix appears to be the same. You can disregard the ">" key in my spreadsheet, and the rest of the data should still be applicable. I've conducted a quick test with a small program, and it confirms that the values in column A and column B are indeed distinct. In the context of building your controller, you can think of column A as what's checked by the MCU (the "rows"), and column B as what's pulled by the MCU (the "columns"). If you attempt to reverse engineer your keyboard matrix regardless, and if your keyboard region and layout differ from mine, I'm curious to see if your matrix differs from mine!

Here's the correct matrix:
KEYSCOL ACOL BESC727F1326F2726F3826F41726F52126F62926F72526F82826F93026F102427F11327F12319#81913127138141715211629172518281930102327°2127_2919BACKSPACE322TAB722A315Z72E816R172T2115Y2915U2515I2815O3015P1127¨2119*1719ENTER927CAPS_LOCK1122Q318S713D814F1718G2113H2918J2518K2818L3018M2527%2522£3027SHIFT_L915>719W320X720C820V1714B2114N2920?2520.2820/3020+2927SHIFT_R926FN2122CTRL111OPTION_L2418COMMAND_L2320SPACE2416COMMAND_R2319OPTION_R2422LEFT_ARROW2519UP_ARROW2827DOWN_ARROW2822RIGHT_ARROW3019
I'm open to collaborating with you, especially in documenting the internals of this keyboard. One initial idea that comes to mind is confirming whether the matrix is indeed the same across all keyboards, regardless of the region.

Until then, best of luck with your project, and I hope it succeeds! :)

Navigation

[0] Message Index

[#] Next page

[*] Previous page

Go to full version