Приветствую.
По какой-то причине настройки клавиатуры внутри /etc/X11/xorg.conf
:
Section "InputDevice"
Identifier "Keyboard0"
Driver "evdev"
Option "Device" "/dev/input/by-id/usb-Logitech_USB_Keyboard-event-kbd"
Option "XkbRules" "xorg"
Option "XkbModel" "pc105"
Option "XkbLayout" "us,ru"
Option "XkbVariant" ",winkeys"
Option "XkbOptions" "altwin:meta_win,compose:ralt,grp:menu_toggle,grp:rctrl_switch,grp:sclk_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
EndSection
не работают должным образом (ну, т. е., не включается переназначение Meta на Win, игнорируется Ctrl+Alt+Backspace и т. д.), так что приходится всё дублировать в ~/.xinitrc
:
setxkbmap -option
setxkbmap -option altwin:meta_win
setxkbmap -option compose:ralt
setxkbmap -option grp:menu_toggle
setxkbmap -option grp:rctrl_switch
setxkbmap -option grp:sclk_toggle
setxkbmap -option grp_led:scroll
setxkbmap -option terminate:ctrl_alt_bksp
В логе на старте виже следующее (т. е. «клавиатур», похоже, было найдено куда больше, чем я просил):
[ 47.750] (**) |-->Input Device "Keyboard0"
[ 47.766] (WW) Hotplugging is on, devices using drivers 'kbd', 'mouse' or 'vmmouse' will be disabled.
[ 48.088] (II) Using input driver 'evdev' for 'Keyboard0'
[ 48.088] (**) Option "CoreKeyboard"
[ 48.088] (**) Keyboard0: always reports core events
[ 48.088] (**) evdev: Keyboard0: Device: "/dev/input/by-id/usb-Logitech_USB_Keyboard-event-kbd"
[ 48.088] (--) evdev: Keyboard0: Vendor 0x46d Product 0xc31d
[ 48.088] (--) evdev: Keyboard0: Found keys
[ 48.088] (II) evdev: Keyboard0: Configuring as keyboard
[ 48.088] (II) XINPUT: Adding extended input device "Keyboard0" (type: KEYBOARD, id 6)
[ 48.088] (**) Option "xkb_rules" "evdev"
[ 48.088] (**) Option "xkb_model" "pc105"
[ 48.088] (**) Option "xkb_layout" "us,ru"
[ 48.088] (**) Option "xkb_variant" ",winkeys"
[ 48.088] (**) Option "xkb_options" "altwin:meta_win,compose:ralt,grp:menu_toggle,grp:rctrl_switch,grp:sclk_toggle,grp_led:scroll,terminate:ctrl_alt_bksp"
[ 48.103] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 48.103] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[ 48.106] (II) input device 'Power Button', /dev/input/event6 is tagged by udev as: Keyboard
[ 48.106] (II) input device 'Power Button', /dev/input/event6 is a keyboard
[ 48.132] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 7)
[ 48.132] (**) Option "xkb_model" "pc105"
[ 48.132] (**) Option "xkb_layout" "us,ru"
[ 48.132] (**) Option "xkb_variant" ","
[ 48.132] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.155] (II) input device 'Power Button', /dev/input/event6 is tagged by udev as: Keyboard
[ 48.155] (II) input device 'Power Button', /dev/input/event6 is a keyboard
[ 48.155] (**) Video Bus: Applying InputClass "evdev keyboard catchall"
[ 48.156] (**) Video Bus: Applying InputClass "libinput keyboard catchall"
[ 48.156] (II) input device 'Video Bus', /dev/input/event16 is tagged by udev as: Keyboard
[ 48.156] (II) input device 'Video Bus', /dev/input/event16 is a keyboard
[ 48.176] (II) XINPUT: Adding extended input device "Video Bus" (type: KEYBOARD, id 8)
[ 48.176] (**) Option "xkb_model" "pc105"
[ 48.176] (**) Option "xkb_layout" "us,ru"
[ 48.176] (**) Option "xkb_variant" ","
[ 48.176] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.176] (II) input device 'Video Bus', /dev/input/event16 is tagged by udev as: Keyboard
[ 48.176] (II) input device 'Video Bus', /dev/input/event16 is a keyboard
[ 48.176] (**) Power Button: Applying InputClass "evdev keyboard catchall"
[ 48.176] (**) Power Button: Applying InputClass "libinput keyboard catchall"
[ 48.176] (II) input device 'Power Button', /dev/input/event4 is tagged by udev as: Keyboard
[ 48.176] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[ 48.192] (II) XINPUT: Adding extended input device "Power Button" (type: KEYBOARD, id 9)
[ 48.192] (**) Option "xkb_model" "pc105"
[ 48.192] (**) Option "xkb_layout" "us,ru"
[ 48.192] (**) Option "xkb_variant" ","
[ 48.192] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.192] (II) input device 'Power Button', /dev/input/event4 is tagged by udev as: Keyboard
[ 48.192] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[ 48.192] (**) Sleep Button: Applying InputClass "evdev keyboard catchall"
[ 48.192] (**) Sleep Button: Applying InputClass "libinput keyboard catchall"
[ 48.193] (II) input device 'Sleep Button', /dev/input/event5 is tagged by udev as: Keyboard
[ 48.193] (II) input device 'Sleep Button', /dev/input/event5 is a keyboard
[ 48.208] (II) XINPUT: Adding extended input device "Sleep Button" (type: KEYBOARD, id 10)
[ 48.208] (**) Option "xkb_model" "pc105"
[ 48.208] (**) Option "xkb_layout" "us,ru"
[ 48.208] (**) Option "xkb_variant" ","
[ 48.208] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.208] (II) input device 'Sleep Button', /dev/input/event5 is tagged by udev as: Keyboard
[ 48.208] (II) input device 'Sleep Button', /dev/input/event5 is a keyboard
[ 48.209] (II) config/udev: Adding input device Logitech USB Keyboard (/dev/input/event1)
[ 48.209] (**) Logitech USB Keyboard: Applying InputClass "evdev keyboard catchall"
[ 48.209] (**) Logitech USB Keyboard: Applying InputClass "libinput keyboard catchall"
[ 48.209] (II) Using input driver 'libinput' for 'Logitech USB Keyboard'
[ 48.209] (**) Logitech USB Keyboard: always reports core events
[ 48.210] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is tagged by udev as: Keyboard
[ 48.210] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is a keyboard
[ 48.224] (II) XINPUT: Adding extended input device "Logitech USB Keyboard" (type: KEYBOARD, id 11)
[ 48.224] (**) Option "xkb_model" "pc105"
[ 48.224] (**) Option "xkb_layout" "us,ru"
[ 48.224] (**) Option "xkb_variant" ","
[ 48.224] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.224] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is tagged by udev as: Keyboard
[ 48.224] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is a keyboard
[ 48.224] (II) config/udev: Adding input device Logitech USB Keyboard (/dev/input/event2)
[ 48.224] (**) Logitech USB Keyboard: Applying InputClass "evdev keyboard catchall"
[ 48.224] (**) Logitech USB Keyboard: Applying InputClass "libinput keyboard catchall"
[ 48.224] (II) Using input driver 'libinput' for 'Logitech USB Keyboard'
[ 48.224] (**) Logitech USB Keyboard: always reports core events
[ 48.225] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is tagged by udev as: Keyboard
[ 48.225] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is a keyboard
[ 48.240] (II) XINPUT: Adding extended input device "Logitech USB Keyboard" (type: KEYBOARD, id 12)
[ 48.240] (**) Option "xkb_model" "pc105"
[ 48.240] (**) Option "xkb_layout" "us,ru"
[ 48.240] (**) Option "xkb_variant" ","
[ 48.240] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.241] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is tagged by udev as: Keyboard
[ 48.241] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is a keyboard
[ 48.394] (**) Logitech Logitech USB Headset: Applying InputClass "evdev keyboard catchall"
[ 48.394] (**) Logitech Logitech USB Headset: Applying InputClass "libinput keyboard catchall"
[ 48.395] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is tagged by udev as: Keyboard
[ 48.395] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is a keyboard
[ 48.408] (II) XINPUT: Adding extended input device "Logitech Logitech USB Headset" (type: KEYBOARD, id 14)
[ 48.408] (**) Option "xkb_model" "pc105"
[ 48.408] (**) Option "xkb_layout" "us,ru"
[ 48.408] (**) Option "xkb_variant" ","
[ 48.408] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.409] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is tagged by udev as: Keyboard
[ 48.409] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is a keyboard
[ 48.415] (II) config/udev: Adding input device ACPI Virtual Keyboard Device (/dev/input/event20)
[ 48.415] (**) ACPI Virtual Keyboard Device: Applying InputClass "evdev keyboard catchall"
[ 48.415] (**) ACPI Virtual Keyboard Device: Applying InputClass "libinput keyboard catchall"
[ 48.415] (II) Using input driver 'libinput' for 'ACPI Virtual Keyboard Device'
[ 48.415] (**) ACPI Virtual Keyboard Device: always reports core events
[ 48.415] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is tagged by udev as: Keyboard
[ 48.416] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is a keyboard
[ 48.436] (II) XINPUT: Adding extended input device "ACPI Virtual Keyboard Device" (type: KEYBOARD, id 15)
[ 48.436] (**) Option "xkb_model" "pc105"
[ 48.436] (**) Option "xkb_layout" "us,ru"
[ 48.436] (**) Option "xkb_variant" ","
[ 48.436] (**) Option "xkb_options" "grp:rctrl_toggle,grp_led:scroll"
[ 48.436] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is tagged by udev as: Keyboard
[ 48.436] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is a keyboard
Ну и в том же самом логе многократно в процессе работы:
[2021148.899] (II) input device 'Power Button', /dev/input/event6 is tagged by udev as: Keyboard
[2021148.899] (II) input device 'Power Button', /dev/input/event6 is a keyboard
[2021148.900] (II) input device 'Video Bus', /dev/input/event16 is tagged by udev as: Keyboard
[2021148.900] (II) input device 'Video Bus', /dev/input/event16 is a keyboard
[2021148.900] (II) input device 'Power Button', /dev/input/event4 is tagged by udev as: Keyboard
[2021148.900] (II) input device 'Power Button', /dev/input/event4 is a keyboard
[2021148.901] (II) input device 'Sleep Button', /dev/input/event5 is tagged by udev as: Keyboard
[2021148.901] (II) input device 'Sleep Button', /dev/input/event5 is a keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is tagged by udev as: Keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event1 is a keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is tagged by udev as: Keyboard
[2021148.902] (II) input device 'Logitech USB Keyboard', /dev/input/event2 is a keyboard
[2021148.903] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is tagged by udev as: Keyboard
[2021148.903] (II) input device 'Logitech Logitech USB Headset', /dev/input/event0 is a keyboard
[2021148.904] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is tagged by udev as: Keyboard
[2021148.904] (II) input device 'ACPI Virtual Keyboard Device', /dev/input/event20 is a keyboard
Как можно дальше продиагностировать это поведение?
Хочется однократно задать настройки клавиатуры для всех пользователей, а не носить ~/.xinitrc
туда-сюда.