Я намагаюся завантажити новий макет клавіатури, коли я підключаю клавіатуру usb, але моє правило udev не працює.
SUBSYSTEM == "введення", ATTR {idVendor} == "062a", ATTR {idProduct} == "0201", GOTO = "usb_xmodmap_auto" LABEL = "usb_xmodmap_auto" ACTION == "додати", RUN + = "/ usr / bin / xmodmap ~ / .usbXmodmap" ACTION == "видалити", RUN + = "/ usr / bin / xmodmap ~ / .pndXmodmap"
Я перезавантажив правила, використовуючи:
> sudo udevadm control - правила завантаження
і перезапустивши систему, але коли я підключаю клавіатуру usb, початкова xmodmap все ще завантажена, і, таким чином, розкладка клавіатури неправильна, але якщо я запускаю команду в терміналі
> / usr / bin / xmodmap ~ / .usbXmodmapабо
> / usr / bin / xmodmap ~ / .pndXmodmap
вони працюють чудово.
сподіваюся, що soneone може допомогти.
Редагувати:
просто, щоб допомогти більше, я запустив кілька тестів на udevadm:
> udevadm test --action = add /devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10
Виходи:
run_command: call: test udevadm_test: версія 151 Ця програма призначена лише для налагодження, вона не запускає жодної програми, заданий ключем RUN. Це може показати неправильні результати, оскільки деякі значення можуть бути різними або недоступними при виконанні моделювання. [...] parse_file: читання '/etc/udev/rules.d/usb-keyboard.rules' як файл правил udev_rules_new: правила використовують 100572 байтів жетонів (8381 * 12 байт), буфер 21523 байт udev_rules_new: тимчасовий індекс використав 35380 байт (1769 * 20 байт) udev_device_new_from_syspath: пристрій 0x3b4d8 має devpath '/devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10' udev_rules_apply_to_event: RUN '/ sbin / modprobe -b $ env {MODALIAS}' /etc/udev/rules.d/80-drivers.ruleswhat udev_rules_apply_to_event: RUN 'socket: @ / org / freedesktop / hal / udev_event' /etc/udev/rules.d/90-hal.rules:2 udev_rules_apply_to_event: RUN '/ sbin / modprobe $ env {MODALIAS}' /etc/udev/rules.d/local.rules:31 udev_rules_apply_to_event: RUN 'socket: / org / kernel / udev / monitor' /etc/udev/rules.d/run.rules:2 udev_rules_apply_to_event: RUN '/ usr / bin / xmodmap ~ / .usbXmodmap' /etc/udev/rules.d/usb-keyboard.rules:2 udevadm_test: UDEV_LOG = 6 udevadm_test: DEVPATH = / пристрої / платформа / ehci-omap.0 / usb1 / 1-2 / 1-2.3 / 1-2.3: 1.1 / введення / введення10 udevadm_test: PRODUCT = 3 / 62a / 201/110 udevadm_test: NAME = "USB-сумісна клавіатура" udevadm_test: PHYS = "usb-ehci-omap.0-2.3 / input1" udevadm_test: UNIQ = "" udevadm_test: EV == 1f udevadm_test: KEY == 837fff 2c3027 bf004444 0 0 1fe3 c04 a27c000 267bfa d941dfed 9e0000 0 0 0 udevadm_test: REL == 143 udevadm_test: ABS == 1 0 udevadm_test: MSC == 10 udevadm_test: MODALIAS = вхід: b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89,8A, 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1, B2, B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D, 17F, 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0,1,6,8, a20, m4, lsfw udevadm_test: ACTION = додати udevadm_test: SUBSYSTEM = введення udevadm_test: run: '/ sbin / modprobe -b вхід: b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89 , 8A, 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1 , B2, B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D , 17F, 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0,1 , 6,8, a20, m4, lsfw ' udevadm_test: run: 'socket: @ / org / freedesktop / hal / udev_event' udevadm_test: run: '/ sbin / modprobe input: b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89,8A , 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1, B2 , B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D, 17F , 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0,1,6 , 8, a20, m4, lsfw ' udevadm_test: run: 'socket: / org / kernel / udev / monitor' udevadm_test: run: '/ usr / bin / xmodmap ~ / .usbXmodmap'
і
> udevadm test --action = delete /devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10
Виходи:
run_command: call: test udevadm_test: версія 151 Ця програма призначена лише для налагодження, вона не запускає жодної програми, заданий ключем RUN. Це може показати неправильні результати, оскільки деякі значення можуть бути різними або недоступними при виконанні моделювання. [...] parse_file: читання '/etc/udev/rules.d/usb-keyboard.rules' як файл правил udev_rules_new: правила використовують 100572 байтів жетонів (8381 * 12 байт), буфер 21523 байт udev_rules_new: тимчасовий індекс використав 35380 байт (1769 * 20 байт) udev_device_new_from_syspath: пристрій 0x3b4d8 має devpath '/devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10' udev_rules_apply_to_event: RUN 'socket: @ / org / freedesktop / hal / udev_event' /etc/udev/rules.d/90-hal.rules:2 udev_rules_apply_to_event: RUN 'socket: / org / kernel / udev / monitor' /etc/udev/rules.d/run.rules:2 udev_rules_apply_to_event: RUN '/ usr / bin / xmodmap ~ / .pndXmodmap' /etc/udev/rules.d/usb-keyboard.ruleswhat udevadm_test: UDEV_LOG = 6 udevadm_test: DEVPATH = / пристрої / платформа / ehci-omap.0 / usb1 / 1-2 / 1-2.3 / 1-2.3: 1.1 / введення / введення10 udevadm_test: PRODUCT = 3 / 62a / 201/110 udevadm_test: NAME = "USB-сумісна клавіатура" udevadm_test: PHYS = "usb-ehci-omap.0-2.3 / input1" udevadm_test: UNIQ = "" udevadm_test: EV == 1f udevadm_test: KEY == 837fff 2c3027 bf004444 0 0 1fe3 c04 a27c000 267bfa d941dfed 9e0000 0 0 0 udevadm_test: REL == 143 udevadm_test: ABS == 1 0 udevadm_test: MSC == 10 udevadm_test: MODALIAS = вхід: b0003v062Ap0201e0110-e0,1,2,3,4, k71,72,73,74,77,80,82,83,85,86,87,88,89,8A, 8B, 8C, 8E, 8F, 90,96,98,9B, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1, B2, B5, CE, CF, D0, D1, D2, D5, D9, DB, E2, EA, EB, 100,101,105,106,107,108,109,10A, 10B, 10C, 162,166,16A, 16E, 178,179,17A, 17B, 17C, 17D, 17F, 180,181,182,185,18C, 18D, 192,193,195,1A0,1A1,1A2,1A3,1A4,1A5,1A6,1A7,1A8,1A9,1AA, 1AB, 1AC, 1AD, 1AE, 1B0,1B1,1B7, r0,1,6,8, a20, m4, lsfw udevadm_test: ACTION = видалити udevadm_test: SUBSYSTEM = введення udevadm_test: run: 'socket: @ / org / freedesktop / hal / udev_event' udevadm_test: run: 'socket: / org / kernel / udev / monitor' udevadm_test: run: '/ usr / bin / xmodmap ~ / .pndXmodmap'
який, здається, показує, що він повинен працювати, але він не сподівається, що це допоможе отримати відповідь.