Bug#788498: udev: breaks the keyboard configuration
Vincent Lefevre
vincent at vinc17.net
Fri Jun 12 13:14:12 BST 2015
On 2015-06-12 13:11:45 +0200, Martin Pitt wrote:
> Vincent Lefevre [2015-06-11 23:51 +0200]:
> > Severity: grave
> > Justification: renders package unusable
>
> This bug is highly hardware specific and specific to local
> configuration, so it does only affect very few people. It also does
> not render udev completely useless, it just affects a few keys.
However, it might prevent the user from logging in if his password
has characters that are affected, and since what is typed is not
visible, this may be very confusing. I agree that this affects few
people, but this can have very bad consequences. Something should
be done to make sure that the user is aware of this change, early
enough if possible.
> > evdev:input:b0003v05ACp0221*
> > KEYBOARD_KEY_70035=102nd # Left to z: backslash bar
> > KEYBOARD_KEY_70064=grave # Left to 1: grave notsign
> > KEYBOARD_KEY_70068=insert # F13: Insert
>
> Matching on the hardcoded bus ID 0003 seems unnecessary and it might
> even be wrong. Please check lsusb/lspci if that keyboard is really on
> the bus 3;
If it is not on bus ID 0003, this seems to be a documentation bug,
because /lib/udev/hwdb.d/60-keyboard.hwdb says:
# This matches on the kernel modalias of the input-device, mainly:
# ZZZZ is the bus-id (see /usr/include/linux/input.h BUS_*), YYYY, XXXX and
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
and /usr/include/linux/input.h contains:
#define BUS_PCI 0x01
#define BUS_ISAPNP 0x02
#define BUS_USB 0x03
#define BUS_HIL 0x04
#define BUS_BLUETOOTH 0x05
#define BUS_VIRTUAL 0x06
#define BUS_ISA 0x10
#define BUS_I8042 0x11
#define BUS_XTKBD 0x12
#define BUS_RS232 0x13
#define BUS_GAMEPORT 0x14
#define BUS_PARPORT 0x15
#define BUS_AMIGA 0x16
#define BUS_ADB 0x17
#define BUS_I2C 0x18
#define BUS_HOST 0x19
#define BUS_GSC 0x1A
#define BUS_ATARI 0x1B
#define BUS_SPI 0x1C
BTW, what about all the "b0003" in /lib/udev/hwdb.d/60-keyboard.hwdb?
[The tests below are done with udev 215-18, as I had to revert.]
lsusb gives for the keyboard:
Bus 008 Device 003: ID 05ac:0221 Apple, Inc. Aluminum Keyboard (ISO)
Does this mean that it is on bus ID 0008? But see below.
> But as this doesn't seem important, just try
>
> evdev:input:b*v05ACp0221*
>
> instead?
I am not in front of the machine, but I'll try tonight.
If this works, using a wildcard for b should be suggested by the
documentation.
> If that still does not work, can you please check "cat
> /sys/class/input/event1/device/modalias" for the actual modalias of
> that device? (Replace event1 with the actual keyboard) That's the one
> that the rule above needs to match.
xvii:~> cat /sys/class/input/event1/device/name
Apple, Inc Apple Keyboard
xvii:~> cat /sys/class/input/event1/device/modalias
input:b0003v05ACp0221e0111-e0,1,4,11,14,k71,72,73,74,75,77,78,79,7A,7B,7C,7D,7E,7F,80,81,82,83,84,85,86,87,88,89,8A,8C,8E,96,98,9E,9F,A1,A3,A4,A5,A6,AD,B0,B1,B2,B3,B4,B8,B9,BA,BB,BC,BD,BE,BF,C0,C1,C2,CC,E0,E1,E3,E4,E5,E6,F0,1D0,ram4,l0,1,2,3,4,sfw
So, it seems to be on bus ID 0003.
--
Vincent Lefèvre <vincent at vinc17.net> - Web: <https://www.vinc17.net/>
100% accessible validated (X)HTML - Blog: <https://www.vinc17.net/blog/>
Work: CR INRIA - computer arithmetic / AriC project (LIP, ENS-Lyon)
More information about the Pkg-systemd-maintainers
mailing list