Tapping Home-E combo sends "3"; tapping PageUp-I combo sends "8"
I have a kinT41 runnig on KB500 with default firmware and it runs flawlessly besides one problem: when I press Home and E at the same time, I get a "3" showing on screen. On the other hand, if I press PageUp and I at the same time, I get an "8".
I get the same issue for Space + E, but I workaround it with combos "E_SPC" (for QWERTY) and "DOT_SPC" (for Dvorak) in the following code (unfortunately the rest six combos do not work)
enum combos {
E_SPC,
I_8,
PGUP_8,
DOT_SPC,
PGUP_C,
C_8,
HOME_3,
DOT_3
};
const uint16_t PROGMEM e_spc_combo[] = { KC_E, KC_SPC, COMBO_END };
const uint16_t PROGMEM i_8_combo[] = { KC_8, KC_I, COMBO_END };
const uint16_t PROGMEM pgup_8_combo[] = { KC_PGUP, KC_8, COMBO_END };
const uint16_t PROGMEM dot_spc_combo[] = { KC_DOT, KC_SPC, COMBO_END };
const uint16_t PROGMEM pgup_c_combo[] = { KC_PGUP, KC_C, COMBO_END };
const uint16_t PROGMEM c_8_combo[] = { KC_C, KC_8, COMBO_END };
const uint16_t PROGMEM home_3_combo[] = { KC_HOME, KC_3, COMBO_END };
const uint16_t PROGMEM dot_3_combo[] = { KC_DOT, KC_3, COMBO_END };
combo_t key_combos[COMBO_COUNT] = {
[E_SPC] = COMBO(e_spc_combo, KC_NO),
[I_8] = COMBO(i_8_combo, KC_NO),
[PGUP_8] = COMBO(pgup_8_combo, KC_NO),
[DOT_SPC] = COMBO(dot_spc_combo, KC_NO),
[PGUP_C] = COMBO(pgup_8_combo, KC_NO),
[C_8] = COMBO(c_8_combo, KC_NO),
[HOME_3] = COMBO(home_3_combo, KC_NO),
[DOT_3] = COMBO(dot_3_combo, KC_NO)
};
I have tested it besides the QWERTY layout, I tested Dvorak keyboard layout on the same hardware and found that Home + "." gives me "3" and PageUp + C gives me "8". Again, Dvorak layout's "." sit on K31 and C sits on K81. Therefore it's seems not an layout issue.
Due to this unexpected outputs at symmetric positions: K35 (Home) + K31 (E) => K30(3); K86(PageUp) + K81(I) => K80(8). I am not sure if this is due to software setup or hardware issue.
Do anymore encounter a similar issue?
Thank you.
Hey @GongYiLiao
Sorry for the late reply.
I just tried this out on my kint41 keyboard, and When I press PageUp+I, I don’t get any extra keys. (Testing with the Home key is inconvenient for me, as I remap it to be the Windows modifier keys.)
My first guess would be that this is a specific soldering joint that’s problematic.
You can find more details about the original kinesis keyboard matrix at https://web.archive.org/web/20180831175016/http://humblehacker.com/blog/20100720/hacking-the-kinesis-contoured-keyboard/#more-10, but note that the wiring that the kinT controller uses is a little different. See the schematic: https://github.com/kinx-project/kint/blob/main/schematic-v2021-06-26.pdf
To get a better feel about the keyboard matrix, it might be easiest to enable debug mode and print the active row/col status when pressing a key: https://michael.stapelberg.ch/posts/2021-05-08-keyboard-input-latency-qmk-kinesis/#enable-the-debug-console-in-qmk
Also see https://github.com/kinx-project/kint#general-technique-highlight-connections-in-kicad if you haven’t seen that yet.
Hope that helps, and good luck in tracking down the issue!