Ich versuche, ein neues Tastaturlayout zu laden, wenn ich eine USB-Tastatur einstecke, aber meine Udev-Regel funktioniert nicht.
SUBSYSTEM == "input", ATTR {idVendor} == "062a", ATTR {idProduct} == "0201", GOTO = "usb_xmodmap_auto" LABEL = "usb_xmodmap_auto" ACTION == "add", RUN + = "/ usr / bin / xmodmap ~ / .usbXmodmap" ACTION == "remove", RUN + = "/ usr / bin / xmodmap ~ / .pndXmodmap"
Ich habe die Regeln neu geladen mit:
> sudo udevadm control --reload-rules
und durch neustarten des systems aber beim einstecken der usb tastatur wird die orginal xmodmap noch geladen und somit ist das tastaturlayout falsch, aber wenn ich den befehl im terminal starte
> / usr / bin / xmodmap ~ / .usbXmodmapoder
> / usr / bin / xmodmap ~ / .pndXmodmap
Sie funktionieren gut.
hoffe, jemand kann helfen.
Bearbeiten:
Um mehr zu helfen, habe ich einige Udevadm-Tests durchgeführt:
> udevadm test --action = add /devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10
Ausgänge:
run_command: Aufruf von: test udevadm_test: Version 151 Dieses Programm ist nur zum Debuggen gedacht und führt kein Programm aus. angegeben durch einen RUN-Schlüssel. Möglicherweise werden falsche Ergebnisse angezeigt, weil Einige Werte können unterschiedlich sein oder bei einem Simulationslauf nicht verfügbar sein. [...] parse_file: Lesen von '/etc/udev/rules.d/usb-keyboard.rules' als Regeldatei udev_rules_new: Regeln verwenden 100572 Bytes Token (8381 * 12 Bytes), 21523 Bytes Puffer udev_rules_new: Temporärer Index verwendet 35380 Bytes (1769 * 20 Bytes) udev_device_new_from_syspath: Gerät 0x3b4d8 hat den Pfad '/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.rules:5 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:4 udevadm_test: UDEV_LOG = 6 udevadm_test: DEVPATH = / devices / platform / ehci-omap.0 / usb1 / 1-2 / 1-2.3 / 1-2.3: 1.1 / input / input10 udevadm_test: PRODUCT = 3 / 62a / 201/110 udevadm_test: NAME = "USB-kompatible Tastatur" 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 = Eingabe: 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, 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 = add udevadm_test: SUBSYSTEM = Eingabe udevadm_test: run: '/ sbin / modprobe -b 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, 9C, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1 , B2, B5, CE, CF, DO, D1, D2, D5, D9, DB, E2, EA, EB, 100, 101, 105, 106, 107, 109, 10A, 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, 9E, 9F, A1, A3, A4, A5, A6, A7, A8, A9, AB, AC, AD, AE, B1, B2 , B5, CE, CF, DO, D1, D2, D5, D9, DB, E2, EA, EB, 100, 101, 105, 106, 107, 108, 109, 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'
und
> udevadm test --action = remove /devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10
Ausgänge:
run_command: Aufruf von: test udevadm_test: Version 151 Dieses Programm ist nur zum Debuggen gedacht und führt kein Programm aus. angegeben durch einen RUN-Schlüssel. Möglicherweise werden falsche Ergebnisse angezeigt, weil Einige Werte können unterschiedlich sein oder bei einem Simulationslauf nicht verfügbar sein. [...] parse_file: Lesen von '/etc/udev/rules.d/usb-keyboard.rules' als Regeldatei udev_rules_new: Regeln verwenden 100572 Bytes Token (8381 * 12 Bytes), 21523 Bytes Puffer udev_rules_new: Temporärer Index verwendet 35380 Bytes (1769 * 20 Bytes) udev_device_new_from_syspath: Gerät 0x3b4d8 hat den Pfad '/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.rules:5 udevadm_test: UDEV_LOG = 6 udevadm_test: DEVPATH = / devices / platform / ehci-omap.0 / usb1 / 1-2 / 1-2.3 / 1-2.3: 1.1 / input / input10 udevadm_test: PRODUCT = 3 / 62a / 201/110 udevadm_test: NAME = "USB-kompatible Tastatur" 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 = Eingabe: 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, 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 = entfernen udevadm_test: SUBSYSTEM = Eingabe udevadm_test: run: 'socket: @ / org / freedesktop / hal / udev_event' udevadm_test: run: 'socket: / org / kernel / udev / monitor' udevadm_test: run: '/ usr / bin / xmodmap ~ / .pndXmodmap'
was zu zeigen scheint, dass es funktionieren sollte, aber es hofft nicht, dass dies hilft, eine Antwort zu bekommen.