kint icon indicating copy to clipboard operation
kint copied to clipboard

Tapping Home-E combo sends "3"; tapping PageUp-I combo sends "8"

Open GongYiLiao opened this issue 3 years ago • 1 comments

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.

GongYiLiao avatar Feb 24 '23 23:02 GongYiLiao

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!

stapelberg avatar Mar 11 '23 10:03 stapelberg