geekhack
geekhack Projects => Making Stuff Together! => Topic started by: luisbg on Mon, 08 December 2014, 16:44:16
-
Two keys of my ErgoDox stopped working and I don't know what it could be.
It happened while reloading .hex files with different attempts to make my own layout with the tmk_keyboard code - . The keyboard wasn't moved so I think a physical problem (bad solder joint) is highly unlikely, unless the board heats up after being plugged for a while and the heat caused this. I am specially confused because for a moment 4 keys stopped working, then I reloaded the default .eep and default .hex files from benblazak's binaries and 2 keys started working again but the two other still aren't working.
Any ideas? I built the board a few days ago, tested each switch and diode with a multimeter, was excited to finally start using it and now blocked by these two keys. Did I fry them? :(
- https://github.com/luisbg/tmk_keyboard/commit/a325a5d4d56d60b6578047ecbf7bfb38e1540525
[1] https://github.com/benblazak/ergodox-firmware#downloading-binaries
-
Have you tried unplug the usb cable and replug it?
Also, which are these non-function keys? Their locations?
-
Have you tried unplug the usb cable and replug it?
Also, which are these non-function keys? Their locations?
I've unplugged and replugged a few times and also have plugged it to a different computer to check.
The two keys not working are mapped to '\' and 'c' in the default qwerty layout. Both in the left hand one in the first column/second row the other one in fourth column/fourth row.
-
Check the diodes in that column.
-
Check the diodes in that column.
I thought the diodes where to avoid key ghosting by ensuring the direction of current. Does a key stop working completely if the diode isn't connected?
-
Check the diodes in that column.
I thought the diodes where to avoid key ghosting by ensuring the direction of current. Does a key stop working completely if the diode isn't connected?
Yes, if you leave a diode unconnected the key will stop working.
The reason is that current has to flow through the diode to reach the controller, You can see this in figure 18& 19 on this page:
http://www.dribin.org/dave/keyboard/one_html/
(http://www.dribin.org/dave/keyboard/one_html/diode_A_B_D_1.gif)
-
True. It makes sense.
I will test the diodes with a multimeter at work in a few hours. To kit comes with the diodes with tiny leads, hard to solder for a noob in electronics hardware. I tested them all when I finished and I had 3 with bad joints. Maybe with time and/or heat 2 disconnected.
-
The diodes were indeed not connected properly. I resoldered them and tested with a multimeter.
One of the keys worked until I closed the case again, which makes me think there is flux affecting the soldering joint. Will disconnect, clean and try again.
Is it possible the diode is damaged or the cherry mx switch? How could I check this?
I created a testing layout. Maybe other people find it useful when debugging the hardware:
https://www.massdrop.com/ext/ergodox/?referer=W4BX9C&hash=2fc3e192ab87b4a054786c160bb69b26
-
Update: when I fixed the diodes I reversed one by mistake. Fixed it and now all keys work. Back to setting up my buteck layout with all special characters close to home in the second layer.
:thumb:
-
Layout finished (for now) \o/
https://raw.githubusercontent.com/luisbg/tmk_keyboard/buteck/keyboard/ergodox/keymap_buteck.h
[attach=1]
When the 'e', 'a', 't' and 'r' keys are tapped they behave like normal.
When the 'a' or 't' are held down, they switch the other hand to Layer 1.
When the 'e' or 'r' are held down, they becomes shift.
This way I have Layer 1 and Shift in the index and middle finger's home row. Plus all the characters I use frequently when programming and in the command line are also close to the home.
-
Glad you got it working!
That's an innovative layout.
-
Glad you got it working!
That's an innovative layout.
Thanks! It got frustrating there for a second but then very rewarding once it worked. Everytime I need to tinker with it I learn more how it works.
I am really enjoying the holding a key to get a modifier feature of tmk_keyboard. Definitely recommended.
The rest of the layout is based on Bu-Teck and Oobly's version of it:
http://www.adnw.de/index.php?n=Main.OptimierungF%C3%BCrDieGeradeTastaturMitDaumen-Shift
https://geekhack.org/index.php?topic=49721.msg1078758#msg1078758
I needed something different to make my brain switch back and forth between this board and other keyboards not confusing (laptop/work colleagues/etc). Plus qwerty is bad, specially for programmers.
-
Layout finished (for now) \o/
https://raw.githubusercontent.com/luisbg/tmk_keyboard/buteck/keyboard/ergodox/keymap_buteck.h
(Attachment Link)
When the 'e', 'a', 't' and 'r' keys are tapped they behave like normal.
When the 'a' or 't' are held down, they switch the other hand to Layer 1.
When the 'e' or 'r' are held down, they becomes shift.
This way I have Layer 1 and Shift in the index and middle finger's home row. Plus all the characters I use frequently when programming and in the command line are also close to the home.
Um, I'm not familiar with this tmk program, but does it only work with ergodox? I like the idea of minimal hand movement and creating a shift function using press-down on a key in the home row.
Would be good if I could get that to work with any keyboard that uses the teensy/ atmega. Then maybe I don't even need to use shift keys in the future!
-
Layout finished (for now) \o/
https://raw.githubusercontent.com/luisbg/tmk_keyboard/buteck/keyboard/ergodox/keymap_buteck.h
(Attachment Link)
When the 'e', 'a', 't' and 'r' keys are tapped they behave like normal.
When the 'a' or 't' are held down, they switch the other hand to Layer 1.
When the 'e' or 'r' are held down, they becomes shift.
This way I have Layer 1 and Shift in the index and middle finger's home row. Plus all the characters I use frequently when programming and in the command line are also close to the home.
Um, I'm not familiar with this tmk program, but does it only work with ergodox? I like the idea of minimal hand movement and creating a shift function using press-down on a key in the home row.
Would be good if I could get that to work with any keyboard that uses the teensy/ atmega. Then maybe I don't even need to use shift keys in the future!
TMK_firmware is Hasu's KB controller code. It offers a lot of cool features. I believe the source code is available on github. You can download the source and compile it into a hex file and flash it to your teensy if you like.
I didn't recommend it to you because it involves building it from source.