2

Is it possible to use wildcard characters when writing udev rules? I have multiseat and i want to assign every device (keyboard, mouse etc) that gets connected to a certain USB hub - or even better, a specific port on the front of the PC - to seat1. It's kind of cumbersome to have to redo new rules each time i swap stuff around or don't remember in which USB slot each device was connected.

Using just simple udev rules, as generated by 'loginctl attach' command:

TAG=="seat", ENV{ID_FOR_SEAT}=="usb-pci-0000_00_14_0-usb-0_5_3", ENV{ID_SEAT}="seat1"
Raffa
  • 32,237
dolt
  • 333
  • 1
  • 8

2 Answers2

2

Is it possible to use wildcard characters when writing udev rules?

Yes, it's possible according to man udev:

Most of the fields support shell glob pattern matching and alternate patterns. The following special characters are supported:

   "*"
       Matches zero or more characters.

"?" Matches any single character.

"[]" Matches any single character specified within the brackets. For example, the pattern string "tty[SR]" would match either "ttyS" or "ttyR". Ranges are also supported via the "-" character. For example, to match on the range of all digits, the pattern "[0-9]" could be used. If the first character following the "[" is a "!", any characters not enclosed are matched.

"|" Separates alternative patterns. For example, the pattern string "abc|x" would match either "abc" or "x".

Raffa
  • 32,237
0

I have multiseat and i want to assign every device (keyboard, mouse etc) that gets connected to a certain USB hub

You can assign a USB controller to a seat. Everything that gets plugged into is is automatically assigned to the same seat as the controller.

No wildcard required.

Oli
  • 293,335