Hello, my laptop (Dell Latitude E6440) has HW switch which for disabling some radio devices (bluetooth, wifi, 3g; list of devices can be configured in BIOS). When I enable or disable this switch it correctly enable or disable devices (and also hard rfkill status is set correctly). But problem is that switch generate key press event on i8042 keyboard controller without release event. See output: $ sudo input-events 4 /dev/input/event4 bustype : BUS_I8042 vendor : 0x1 product : 0x1 version : 43841 name : "AT Translated Set 2 keyboard" phys : "isa0060/serio0/input0" bits ev : EV_SYN EV_KEY EV_MSC EV_LED EV_REP waiting for events ... (here I enabled switch) 14:04:07.047897: EV_MSC MSC_SCAN 136 14:04:07.047897: EV_KEY KEY_UNKNOWN (0xf0) pressed 14:04:07.047897: EV_SYN code=0 value=0 (and after that my terminal emulator start writing dummy chars) ^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@^@1 (here I disabled switch) 14:04:08.730526: EV_MSC MSC_SCAN 136 14:04:08.730526: EV_KEY KEY_UNKNOWN (0xf0) pressed 14:04:08.730526: EV_SYN code=0 value=0 So I think that above chars were written because there was no release event. I have two questions: 1) Should kernel for this special switch key emit also release event? And if yes, how to do that if keyboard controller do not do that? 2) It is possible to remap KEY_UNKNOWN to something meaningful? Or it should be KEY_UNKNOWN iff BIOS already handle hard rfkill state? -- Pali Rohár pali.rohar@xxxxxxxxx
Attachment:
signature.asc
Description: This is a digitally signed message part.