tmk / tmk_keyboard

Keyboard firmwares for Atmel AVR and Cortex-M
4k stars 1.71k forks source link

Issues when using both mouse and keyboard at the same time #776

Open JadeTank opened 4 months ago

JadeTank commented 4 months ago

EDIT: I decided to try testing to see if this was an issue with the keyboard itself or just the firmware, so I connected a separate PS/2 mouse and keyboard, and the issue occurred as well. Something I also noticed is that after the issue occurs, the keyboard stops working and the attempting to use the mouses causes it to send key inputs, almost like the firmware may be losing track of which device is which.

PREV: I have been attempting to use this firmware with a Model M5-2, a Model M keyboard that includes a built in trackball, connected to over a Y split PS/2. I initially had some issues with the firmware when first putting this together, where the keyboard would seemingly randomly disconnect while typing. HID Listen would continue to read key inputs but no keys would actually work, and the lights on the keyboard would flash. I'm still not 100% what caused this, but I had suspected a loose connection with the pull up resistors at first. Since actually wiring it instead of using a breadboard it seemed like the issue stopped, but I have now encountered a new one I can consistently cause that leads me to believe this was an issue related to incompatibility with the keyboard itself.

When just using the trackball or just using the keyboard, it all works fine. However, if I attempt to type anything while also moving the pointer with the trackball, both will stop working and seemingly reconnect. HID Listen shows something clearly going on, hopefully this output can help with solving this.

This was the result of me first typing with the keyboard, and just using the mouse, and then doing both at the same time

Waiting for device: Listening: r2C rF0 r2C r33 rF0 r33 r43 r1B rF0 r43 r29 rF0 r1B rF0 r29 r43 rF0 r43 r1B r29 rF0 r1B r1C rF0 r29 rF0 r1C r29 r2C rF0 r29 rF0 r2C r35 rF0 r35 r4D rF0 r4D r43 rF0 r43 r34 r31 rF0 r34 r29 rF0 r31 r2C rF0 r29 rF0 r2C r66 rF0 r66 r66 rF0 r66 r66 rF0 r66 r66 rF0 r66 r31 r34 rF0 r31 rF0 r34 r29 r2C rF0 r29 r24 rF0 r2C rF0 r24 r1B r2C rF0 r1B rF0 r2C r41 r29 rF0 r41 r31 rF0 r29 rF0 r31 r44 r1D r29 rF0 r44 rF0 r1D r2B rF0 r29 rF0 r2B r44 rF0 r44 r2D r29 rF0 r2D r2C rF0 r29 r33 rF0 r2C r24 rF0 r33 r29 rF0 r24 rF0 r29 r2C rF0 r2C r2D r1C rF0 r2D rF0 r1C r21 rF0 r21 r42 r32 rF0 r42 r1C rF0 r32 rF0 r1C r4B rF0 r4B r4B rF0 r4B r5A rF0 r5A r28 r02 rFE M[x:2 y:2 v:0 h:0 b:00] r08 r02 r00 M[x:2 y:0 v:0 h:0 b:00] r28 r02 rFF M[x:2 y:1 v:0 h:0 b:00] r28 r03 rFF M[x:3 y:1 v:0 h:0 b:00] r08 r02 r00 M[x:2 y:0 v:0 h:0 b:00] r28 r02 rFE M[x:2 y:2 v:0 h:0 b:00] r28 r00 rFE M[x:0 y:2 v:0 h:0 b:00] r28 r00 rFC M[x:0 y:4 v:0 h:0 b:00] r38 rFF rFC M[x:-1 y:4 v:0 h:0 b:00] r38 rFE rFC M[x:-2 y:4 v:0 h:0 b:00] r38 rFE rFD M[x:-2 y:3 v:0 h:0 b:00] r38 rFE rFC M[x:-2 y:4 v:0 h:0 b:00] r38 rFE rFE M[x:-2 y:2 v:0 h:0 b:00] r38 rFE rFE M[x:-2 y:2 v:0 h:0 b:00] r38 rFE rFF M[x:-2 y:1 v:0 h:0 b:00] r38 rFF rFF M[x:-1 y:1 v:0 h:0 b:00] r38 rFE rFF M[x:-2 y:1 v:0 h:0 b:00] r18 rFE r00 M[x:-2 y:0 v:0 h:0 b:00] r38 rFE rFF M[x:-2 y:1 v:0 h:0 b:00] r18 rFD r00 M[x:-3 y:0 v:0 h:0 b:00] r38 rFC rFF M[x:-4 y:1 v:0 h:0 b:00] r18 rFD r00 M[x:-3 y:0 v:0 h:0 b:00] r18 rFE r00 M[x:-2 y:0 v:0 h:0 b:00] r18 rFE r00 M[x:-2 y:0 v:0 h:0 b:00] r18 rFE r01 M[x:-2 y:-1 v:0 h:0 b:00] r18 rFF r00 M[x:-1 y:0 v:0 h:0 b:00] r18 rFF r01 M[x:-1 y:-1 v:0 h:0 b:00] r08 r00 r01 M[x:0 y:-1 v:0 h:0 b:00] r08 r02 r02 M[x:2 y:-2 v:0 h:0 b:00] r08 r03 r02 M[x:3 y:-2 v:0 h:0 b:00] r08 r06 r03 M[x:6 y:-3 v:0 h:0 b:00] r08 r06 r03 M[x:6 y:-3 v:0 h:0 b:00] r08 r08 r03 M[x:8 y:-3 v:0 h:0 b:00] r08 r06 r01 M[x:6 y:-1 v:0 h:0 b:00] r08 r05 r01 M[x:5 y:-1 v:0 h:0 b:00] r08 r04 r00 M[x:4 y:0 v:0 h:0 b:00] r28 r02 rFE M[x:2 y:2 v:0 h:0 b:00] r28 r00 rFD M[x:0 y:3 v:0 h:0 b:00] r28 r01 rFD M[x:1 y:3 v:0 h:0 b:00] r28 r00 rFD M[x:0 y:3 v:0 h:0 b:00] r28 r00 rFD M[x:0 y:3 v:0 h:0 b:00] r28 r00 rFD M[x:0 y:3 v:0 h:0 b:00] r28 r00 rFD M[x:0 y:3 v:0 h:0 b:00] r28 r00 rFE M[x:0 y:2 v:0 h:0 b:00] r28 r00 rFE M[x:0 y:2 v:0 h:0 b:00] r18 rFF r00 M[x:-1 y:0 v:0 h:0 b:00] r28 r00 rFF M[x:0 y:1 v:0 h:0 b:00] r18 rFF r00 M[x:-1 y:0 v:0 h:0 b:00] r18 rFE r00 M[x:-2 y:0 v:0 h:0 b:00] r18 rFE r00 M[x:-2 y:0 v:0 h:0 b:00] r18 rFD r00 M[x:-3 y:0 v:0 h:0 b:00] r18 rFE r01 M[x:-2 y:-1 v:0 h:0 b:00] r18 rFE r01 M[x:-2 y:-1 v:0 h:0 b:00] r18 rFE r02 M[x:-2 y:-2 v:0 h:0 b:00] r18 rFF r01 M[x:-1 y:-1 v:0 h:0 b:00] r08 r00 r01 M[x:0 y:-1 v:0 h:0 b:00] r08 r00 r01 M[x:0 y:-1 v:0 h:0 b:00] r08 r01 r00 M[x:1 y:0 v:0 h:0 b:00] r08 r02 r00 M[x:2 y:0 v:0 h:0 b:00] r08 r03 r00 M[x:3 y:0 v:0 h:0 b:00] r08 r03 r00 M[x:3 y:0 v:0 h:0 b:00] r08 r03 r00 M[x:3 y:0 v:0 h:0 b:00] r28 r02 rFE M[x:2 y:2 v:0 h:0 b:00] r28 r00 rFF M[x:0 y:1 v:0 h:0 b:00] r28 r00 rFF M[x:0 y:1 v:0 h:0 b:00] r28 r00 rFE M[x:0 y:2 v:0 h:0 b:00] r28 r00 rFF M[x:0 y:1 v:0 h:0 b:00] r38 rFE rFE M[x:-2 y:2 v:0 h:0 b:00] r38 rFD rFF M[x:-3 y:1 v:0 h:0 b:00] r18 rFE r00 M[x:-2 y:0 v:0 h:0 b:00] r31 rF0 r31 r44 rF0 r44 r1D r29 rF0 r1D r32 rF0 r29 r44 rF0 r32 rF0 r44 r2C rF0 r2C r33 r29 rF0 r33 r1C rF0 r29 r2C rF0 r1C rF0 r2C r29 r2C r33 rF0 r29 r24 rF0 r2C rF0 r33 rF0 r24 r29 r1B rF0 r29 r1C rF0 r1B rF0 r1C r3A r24 r29 rF0 r3A r2C rF0 r24 rF0 r29 r43 rF0 r2C rF0 r43 r3A r24 rF0 r3A rF0 r24 r5A rF0 r5A r08 r01 r00 M[x:1 y:0 v:0 h:0 b:00] r08 r01 r01 M[x:1 y:-1 v:0 h:0 b:00] r08 r01 r00 M[x:1 y:0 v:0 h:0 b:00] r08 r02 r00 M[x:2 y:0 v:0 h:0 b:00] r08 r02 r01 M[x:2 y:-1 v:0 h:0 b:00] r08 r03 r00 M[x:3 y:0 v:0 h:0 b:00] r08 r04 r00 M[x:4 y:0 v:0 h:0 b:00] r08 r04 r00 M[x:4 y:0 v:0 h:0 b:00] r08 r04 r00 M[x:4 y:0 v:0 h:0 b:00] r08 r03 r00 M[x:3 y:0 v:0 h:0 b:00] r28 r04 rFF M[x:4 y:1 v:0 h:0 b:00] r28 r03 rFF M[x:3 y:1 v:0 h:0 b:00] r28 r03 rFF M[x:3 y:1 v:0 h:0 b:00] r28 r03 rFE M[x:3 y:2 v:0 h:0 b:00] r28 r02 rFE M[x:2 y:2 v:0 h:0 b:00] r28 r03 rFE M[x:3 y:2 v:0 h:0 b:00] r28 r03 rFD M[x:3 y:3 v:0 h:0 b:00] r28 r02 rFC M[x:2 y:4 v:0 h:0 b:00] r28 r01 rFD M[x:1 y:3 v:0 h:0 b:00] r28 r00 rFD M[x:0 y:3 v:0 h:0 b:00] r28 r01 rFC M[x:1 y:4 v:0 h:0 b:00] r28 r00 rFD M[x:0 y:3 v:0 h:0 b:00] r28 r01 rFD M[x:1 y:3 v:0 h:0 b:00] r28 r00 rFE M[x:0 y:2 v:0 h:0 b:00] r28 r00 rFE M[x:0 y:2 v:0 h:0 b:00] r28 r00 rFE M[x:0 y:2 v:0 h:0 b:00] r38 rFF rFF M[x:-1 y:1 v:0 h:0 b:00] r38 rFD rFF M[x:-3 y:1 v:0 h:0 b:00] r38 rFD rFF M[x:-3 y:1 v:0 h:0 b:00] r18 rFC r00 M[x:-4 y:0 v:0 h:0 b:00] r18 rFC r00 M[x:-4 y:0 v:0 h:0 b:00] r18 rFC r16 58834 ERR:20 ISR:C040 E58835 [CLR] I58836 58837 PRT:10 ISR:C610 r18 rFC r01 r18 rF6 r03 r18 rFF r02 r18 rFD r01 r18 rFF r03 r18 rFF r02 r08 r00 r02 r08 r00 r01 r08 r01 r00 rF0 r16 r08 r03 r00 r08 r04 r00 r08 r06 r00 r08 r06 r00 r08 r07 r00 r08 r07 r00 r08 r05 r00 r28 r04 rFE r28 r02 rFE r28 r01 rFD r28 r00 rFD r28 r00 rFD r28 r00 rFD r38 rFF rFE r38 rFF rFE r38 rFF rFE r38 rFF rFE r38 rFD rFF r18 rFC r00 r1E r18 rFA r00 r18 rFA r00 r18 rFA r00 r18 rF9 r01 r18 rF9 r01 r18 rFA r01 r18 rFC r01 r18 rFD r01 r18 rFE r02 rF0 r1E r18 rFF r02 r18 rFF r01 r08 r00 r02 r08 r00 r01 r08 r02 r01 r08 r03 r00 r08 r04 r01 r08 r06 r01 r08 r06 r00 r08 r05 r00 r08 r03 r00 r28 r03 rFF r28 r01 rFD r28 r00 rFD r28 r00 rFD r28 r00 rFC r28 r00 rFD r28 r00 rFE r28 r00 rFE r38 rFF rFE r38 rFF rFF r38 rFE rFF r18 rFD r00 r18 rFC r00 r18 rFC r00 r18 rFC r00 r18 rFC r01 r18 rFC r01 r18 rFD r02 r18 rFE r02 r18 rFE r03 r18 rFF r03 r08 r00 r03 r08 r00 r02 r08 r00 r02 r08 r02 r02 r08 r02 r01 r08 r03 r01 r08 r04 r01 r08 r04 r01 r08 r05 r00 r08 r04 r00 r28 r03 rFF r28 r02 rFE r28 r02 rFE r28 r01 rFE r28 r00 rFE r28 r00 rFE 59666 ERR:20 ISR:8920 E59667 [CLR] I59668 59670 PRT:10 ISR:FC10 rF0 r26 r28 r00 rFD r28 r00 rFD r38 rFF rFE r38 rFE rFE r38 rFE rFD r38 rFD rFF r38 rFC rFE r18 rFC r00 r18 rFC r00 r18 rFB r00 r18 rFC r00 r18 rFD r00 r18 rFD r01 r18 rFE r02 r18 rFE r02 r18 rFF r02 r18 rFF r01 r08 r00 r01 r08 r01 r02 r08 r02 r02 r08 r03 r02 r08 r05 r03 r08 r05 r02 r08 r06 r02 r08 r06 r01 r08 r04 r00 r08 r04 r00 r28 r02 rFF r28 r01 rFE r28 r00 rFD r28 r00 rFD r38 rFF rFC r38 rFE rFC r38 rFE rFC r38 rFD rFC r38 rFE rFE r38 rFD rFE r38 rFE rFF r38 rFE rFF r18 rFC r00 r18 rFD r00 r18 rFD r00 r18 rFD r00 r18 rFE r00 r18 rFE r02 r18 rFF r02 r18 rFF r01 r18 rFF r01 60153 ERR:20 ISR:8940 E60153 [CLR] I60154 60156 PRT:10 ISR:FC10 rF0 r25 r08 r00 r01 r08 r01 r02 r08 r02 r01 r08 r03 r02 r08 r03 r02 r08 r04 r01 r08 r04 r02 r08 r03 r01 r08 r04 r01 r08 r03 r00 r08 r04 r00 r08 r04 r00 r08 r04 r01 r08 r03 r00 r08 r02 r00 r08 r01 r00 r28 r00 rFE r28 r00 rFF r28 r00 rFE r38 rFF rFE r38 rFE rFE r38 rFE rFE r38 rFE rFE r38 rFD rFE r38 rFD rFF r38 rFC rFF r38 rFC rFF r18 rFE r00 r18 rFD r00 r18 rFE r00 60473 ERR:20 ISR:CB20 E60474 [CLR] I60474 60476 PRT:10 ISR:FC10 rF0 r2E A61837 wFF rFA rAA W62223 r00 W62225 wF2 rFA r00 R63230 ID:00FF(MOUSE) S63230 wF5 rFA wEA rFA wE9 rFA r00 r02 r64 S[00 02 64] LMS: wE8 rFA w00 rFA wE6 rFA wE6 rFA wE6 rFA wE9 rFA r00 r00 r64 S[00 00 64] INT: wF3 rFA wC8 rFA wF3 rFA w64 rFA wF3 rFA w50 rFA wF2 rFA r00 EXP: wF3 rFA wC8 rFA wF3 rFA wC8 rFA wF3 rFA w50 rFA wF2 rFA r00 DEF: wF6 rFA wF4 rFA wE9 rFA r20 r02 r64 S[20 02 64] Mouse: DEFAULT L64350 A64350 wFF rFA rAA W64738 wF2 rFA rAB r83 R65245 ID:AB83(AT) S65245 wED rFA w00 rFA L65254 r14 r1C rF0 r1C rF0 r14