J'ai fait ce qui suit
# Saved as /etc/udev/rules.d/81-MSSP3-dock.rules
# Microsoft Surface Pro Keyboard
SUBSYSTEM=="input", ENV{ID_VENDOR_ID}=="045e", ENV{ID_MODEL_ID}=="07e3, GOTO="MSSP3_rules"
GOTO="MSSP3_rules_end"
LABEL="MSSP3_rules"
ACTION=="add", RUN+="/home/joshuarobison/Documents/Scripts/landscape.sh"
ACTION=="remove", RUN+="/home/joshuarobison/Documents/Scripts/portrait.sh"
LABEL="MSSP3_rules_end"
mon udev est comme suit
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
UDEV [2672.635429] remove /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E3.0012/input/input303/event3 (input)
ACTION=remove
BACKSPACE=guess
DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:3:1.0-event-kbd /dev/input/by-id/usb-Microsoft_Surface_Type_Cover-event-kbd
DEVNAME=/dev/input/event3
DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:045E:07E3.0012/input/input303/event3
ID_BUS=usb
ID_INPUT=1
ID_INPUT_KEY=1
ID_INPUT_KEYBOARD=1
ID_MODEL=Surface_Type_Cover
ID_MODEL_ENC=Surface\x20Type\x20Cover
ID_MODEL_ID=07e3
ID_PATH=pci-0000:00:14.0-usb-0:3:1.0
ID_PATH_TAG=pci-0000_00_14_0-usb-0_3_1_0
ID_REVISION=0307
ID_SERIAL=Microsoft_Surface_Type_Cover
ID_TYPE=hid
ID_USB_DRIVER=usbhid
ID_USB_INTERFACES=:030000:
ID_USB_INTERFACE_NUM=00
ID_VENDOR=Microsoft
ID_VENDOR_ENC=Microsoft
ID_VENDOR_ID=045e
LIBINPUT_DEVICE_GROUP=3/45e/7e3:usb-0000:00:14.0-3
MAJOR=13
MINOR=67
SEQNUM=4374
SUBSYSTEM=input
TAGS=:power-switch:
USEC_INITIALIZED=2297576881
XKBLAYOUT=jp
XKBMODEL=pc105
Les scripts fonctionnent déjà. Je sais que le problème est dans les règles udev en quelque sorte. Lorsque je détache et attache le clavier, le scripts n'est pas exécuté.
Même si les scripts portrait ou landscape.sh ne sont qu'une simple commande echo, rien ne se passe.