Unlikely. Keyboard model affects which keys are available and their layout. Incorrect model may result in missing characters or characters in unexpected location but unlikely in stuck keys.
Try checking what events are delivered by kernel. You can use e.g. libinput
. Use libinput list-devices
to find your keyboard and then libinput record --show-keycodes /dev/input/eventX some-output-file.yml
. Are all key presses and releases recorded? E.g.
bor@bor-Latitude-E5450:~$ sudo libinput list-devices
...
Device: AT Translated Set 2 keyboard
Kernel: /dev/input/event4
...
bor@bor-Latitude-E5450:~$ sudo libinput record --show-keycodes /dev/input/event4 /tmp/keyboard.yml
Recording to '/tmp/keyboard.yml'.
Receiving events: [ * ]^C
The file contains a lot of details, in particular
events:
# Current time is 20:46:13
- evdev:
- [ 0, 0, 17, 2, 1] # EV_LED / LED_SCROLLL 1
- [ 0, 0, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +0ms
# Current time is 20:46:15
- evdev:
- [ 2, 489522, 4, 4, 184] # EV_MSC / MSC_SCAN 184
- [ 2, 489522, 1, 100, 1] # EV_KEY / KEY_RIGHTALT 1
- [ 2, 489522, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +2489ms
Here I pressed the AltGr (1
in the last column)
- evdev:
- [ 2, 612954, 4, 4, 9] # EV_MSC / MSC_SCAN 9
- [ 2, 612954, 1, 9, 1] # EV_KEY / KEY_8 1
- [ 2, 612954, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +123ms
I pressed 8
while still keeping AltGr down.
- evdev:
- [ 2, 754222, 4, 4, 9] # EV_MSC / MSC_SCAN 9
- [ 2, 754222, 1, 9, 0] # EV_KEY / KEY_8 0
- [ 2, 754222, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +142ms
8
was released (0
in the last column)
- evdev:
- [ 2, 789221, 4, 4, 184] # EV_MSC / MSC_SCAN 184
- [ 2, 789221, 1, 100, 0] # EV_KEY / KEY_RIGHTALT 0
- [ 2, 789221, 0, 0, 0] # ------------ SYN_REPORT (0) ---------- +35ms
AltGr was released.
Events resulted from auto-repeat will have 2
in the last column.