USBキーボードを接続したが、udevルールが機能しない場合、新しいキーボードレイアウトをロードしようとしています。
SUBSYSTEM == "input"、ATTR {idVendor} == "062a"、ATTR {idProduct} == "0201"、GOTO = "usb_xmodmap_auto" LABEL = "usb_xmodmap_auto" ACTION == "add"、RUN + = "/ usr / bin / xmodmap〜/ .usbXmodmap" ACTION == "削除"、RUN + = "/ usr / bin / xmodmap〜/ .pndXmodmap"
次を使用してルールをリロードしました。
> sudo udevadm control --reload-rules
システムを再起動しますが、USBキーボードを差し込むと元のxmodmapがまだロードされているため、キーボードレイアウトが間違っていますが、端末でコマンドを実行すると
> / usr / bin / xmodmap〜/ .usbXmodmapまたは
> / usr / bin / xmodmap〜/ .pndXmodmap
彼らはうまく動作します。
ソネオンが助けてくれることを願っています。
編集:
さらに役立つように、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:呼び出し:テスト 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.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準拠キーボード" 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 = 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:ACTION = add udevadm_test:SUBSYSTEM = input udevadm_test:実行: '/ 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、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:実行: 'socket:@ / org / freedesktop / hal / udev_event' udevadm_test:実行: '/ 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:実行: 'socket:/ org / kernel / udev / monitor' udevadm_test:実行: '/ usr / bin / xmodmap〜/ .usbXmodmap'
そして
> udevadm test --action = remove /devices/platform/ehci-omap.0/usb1/1-2/1-2.3/1-2.3:1.1/input/input10
出力:
run_command:呼び出し:テスト 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.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準拠キーボード" 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 = 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:ACTION = remove udevadm_test:SUBSYSTEM = input udevadm_test:実行: 'socket:@ / org / freedesktop / hal / udev_event' udevadm_test:実行: 'socket:/ org / kernel / udev / monitor' udevadm_test:実行: '/ usr / bin / xmodmap〜/ .pndXmodmap'
これは動作するはずであるように見えますが、これが答えを得る助けになることを望みません。