Mutter should respect libinput_device_get_output()
Hello.
I'm opening this issue on the advices of jadahl on IRC.
I tried to setup an Epson video projector with its pencil module but it does not work on Wayland.
Under Xorg I use something like:
xinput --map-to-output <DEVICE> HDMI-1
For Wayland I setup a udev rule as described in Mapping multiple touchscreen Wayland without success:
####
#### configure udev to associate pencils to external OUTPUT
####
# /etc/udev/rules.d/epson-touch.rules
ENV{ID_VENDOR_ID}=="04b8", ENV{ID_MODEL_ID}=="0326", ENV{WL_OUTPUT}="HDMI-1"
Here is the list of input devices provided by the EPSON video projector:
####
#### List of EPSON input devices
####
sudo libinput list-devices
[...]
# Pencil with orange label
Device: EPSON EPSON EPSON 675Wi Mouse
Kernel: /dev/input/event6
Group: 6
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
# Pencil with blue label
Device: EPSON EPSON EPSON 675Wi Mouse
Kernel: /dev/input/event7
Group: 6
Seat: seat0, default
Capabilities: pointer
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: disabled
Nat.scrolling: disabled
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
# There is no event on this input when manipulating pencils
Device: EPSON EPSON EPSON 675Wi
Kernel: /dev/input/event28
Group: 6
Seat: seat0, default
Capabilities: touch
Tap-to-click: n/a
Tap-and-drag: n/a
Tap drag lock: n/a
Left-handed: n/a
Nat.scrolling: n/a
Middle emulation: n/a
Calibration: identity matrix
Scroll methods: none
Click methods: none
Disable-w-typing: n/a
Accel profiles: n/a
Rotation: n/a
[...]
Here is the external output EDID, note that I'm not sure what the WL_OUTPUT
should be, I tried:
HDMI-1
HDMI1
HDMI-A-1
####
#### External output EDID
####
sudo edid-decode /sys/class/drm/card0-HDMI-A-1/edid
EDID version: 1.3
Manufacturer: SEC Model a60d Serial Number 16843009
Made in week 14 of 2015
Digital display
Image size is variable
Gamma: 2.20
RGB color display
First detailed timing is preferred timing
Display x,y Chromaticity:
Red: 0.6396, 0.3291
Green: 0.2998, 0.5996
Blue: 0.1494, 0.0595
White: 0.3125, 0.3281
Established timings supported:
640x480@60Hz 4:3 HorFreq: 31469 Hz Clock: 25.175 MHz
800x600@60Hz 4:3 HorFreq: 37900 Hz Clock: 40.000 MHz
1024x768@60Hz 4:3 HorFreq: 48400 Hz Clock: 65.000 MHz
Standard timings supported:
1600x1200@60Hz 4:3 HorFreq: 75000 Hz Clock: 162.000 MHz
1400x1050@60Hz 4:3 HorFreq: 64700 Hz Clock: 101.000 MHz
1280x1024@60Hz 5:4 HorFreq: 64000 Hz Clock: 108.000 MHz
1280x960@60Hz 4:3 HorFreq: 60000 Hz Clock: 108.000 MHz
1280x720@60Hz 16:9
1440x900@60Hz 16:10 HorFreq: 55500 Hz Clock: 88.750 MHz
1680x1050@60Hz 16:10 HorFreq: 64700 Hz Clock: 119.000 MHz
1600x900@60Hz 16:9
Detailed mode: Clock 83.500 MHz, 1600 mm x 900 mm
1280 1352 1480 1680 hborder 0
800 803 809 831 vborder 0
-hsync +vsync
VertFreq: 59 Hz, HorFreq: 49702 Hz
Detailed mode: Clock 148.500 MHz, 1600 mm x 900 mm
1920 2008 2052 2200 hborder 0
1080 1084 1089 1125 vborder 0
+hsync +vsync
VertFreq: 60 Hz, HorFreq: 67500 Hz
Monitor ranges (GTF): 23-85Hz V, 15-92kHz H, max dotclock 170MHz
Monitor name: EPSON PJ
Has 1 extension blocks
Checksum: 0xfe (valid)
CTA extension block
Extension version: 3
36 bytes of CTA data
Video data block
VIC 16 1920x1080@60Hz 16:9 (native) HorFreq: 67500 Hz Clock: 148.500 MHz
VIC 31 1920x1080@50Hz 16:9 HorFreq: 56250 Hz Clock: 148.500 MHz
VIC 32 1920x1080@24Hz 16:9 HorFreq: 27000 Hz Clock: 74.250 MHz
VIC 34 1920x1080@30Hz 16:9 HorFreq: 33750 Hz Clock: 74.250 MHz
VIC 5 1920x1080i@60Hz 16:9 HorFreq: 33750 Hz Clock: 74.250 MHz
VIC 20 1920x1080i@50Hz 16:9 HorFreq: 28125 Hz Clock: 74.250 MHz
VIC 4 1280x720@60Hz 16:9 HorFreq: 45000 Hz Clock: 74.250 MHz
VIC 19 1280x720@50Hz 16:9 HorFreq: 37500 Hz Clock: 74.250 MHz
VIC 3 720x480@60Hz 16:9 HorFreq: 31469 Hz Clock: 27.000 MHz
VIC 2 720x480@60Hz 4:3 HorFreq: 31469 Hz Clock: 27.000 MHz
VIC 18 720x576@50Hz 16:9 HorFreq: 31250 Hz Clock: 27.000 MHz
VIC 17 720x576@50Hz 4:3 HorFreq: 31250 Hz Clock: 27.000 MHz
VIC 7 1440x480i@60Hz 16:9 HorFreq: 15734 Hz Clock: 27.000 MHz
VIC 6 1440x480i@60Hz 4:3 HorFreq: 15734 Hz Clock: 27.000 MHz
VIC 22 1440x576i@50Hz 16:9 HorFreq: 15625 Hz Clock: 27.000 MHz
VIC 21 1440x576i@50Hz 4:3 HorFreq: 15625 Hz Clock: 27.000 MHz
VIC 1 640x480@60Hz 4:3 HorFreq: 31469 Hz Clock: 25.175 MHz
Audio data block
Linear PCM, max channels 2
Supported sample rates (kHz): 48 44.1 32
Supported sample sizes (bits): 24 20 16
Speaker allocation data block
Speaker map:
FL/FR - Front Left/Right
Vendor-specific data block, OUI 000c03 (HDMI)
Source physical address 1.0.0.0
Supports_AI
Extended tag: Video capability data block
YCbCr quantization: Selectable (via AVI YQ) (1)
RGB quantization: Selectable (via AVI Q) (1)
PT scan behaviour: Support both over- and underscan (3)
IT scan behaviour: Always Underscanned (2)
CE scan behaviour: Support both over- and underscan (3)
Underscans PC formats by default
Basic audio support
Supports YCbCr 4:4:4
Supports YCbCr 4:2:2
1 native detailed modes
Detailed mode: Clock 154.000 MHz, 1600 mm x 900 mm
1920 1968 2000 2080 hborder 0
1200 1203 1209 1235 vborder 0
+hsync -vsync
VertFreq: 59 Hz, HorFreq: 74038 Hz
Detailed mode: Clock 74.250 MHz, 1600 mm x 900 mm
1920 2008 2052 2200 hborder 0
1080 1084 1089 1125 vborder 0
+hsync +vsync
VertFreq: 30 Hz, HorFreq: 33750 Hz
Detailed mode: Clock 85.500 MHz, 1600 mm x 900 mm
1366 1436 1579 1792 hborder 0
768 771 774 798 vborder 0
+hsync +vsync
VertFreq: 59 Hz, HorFreq: 47712 Hz
Checksum: 0x54 (valid)
Here are the udev informations for the 2 pencils and a touchscreen input providing not events when playing with the pencils (it may be an additional device with a laser pointer to track fingers on the wall)
####
#### The video projector input module support 2 pencils
####
# Pencil with orange label
udevadm info /dev/input/event6
P: /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:04B8:0326.000E/input/input54/event6
N: input/event6
S: input/by-id/usb-EPSON_EPSON_EPSON_675Wi-event-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:1.3:1.0-event-mouse
E: DEVLINKS=/dev/input/by-path/pci-0000:00:14.0-usb-0:1.3:1.0-event-mouse /dev/input/by-id/usb-EPSON_EPSON_EPSON_675Wi-event-mouse
E: DEVNAME=/dev/input/event6
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.3/1-1.3:1.0/0003:04B8:0326.000E/input/input54/event6
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_MODEL=EPSON_EPSON_675Wi
E: ID_MODEL_ENC=EPSON\x20EPSON\x20675Wi
E: ID_MODEL_ID=0326
E: ID_PATH=pci-0000:00:14.0-usb-0:1.3:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1_3_1_0
E: ID_REVISION=1234
E: ID_SERIAL=EPSON_EPSON_EPSON_675Wi
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030002:030000:
E: ID_USB_INTERFACE_NUM=00
E: ID_VENDOR=EPSON
E: ID_VENDOR_ENC=EPSON
E: ID_VENDOR_ID=04b8
E: LIBINPUT_DEVICE_GROUP=3/4b8/326:usb-0000:00:14.0-1
E: MAJOR=13
E: MINOR=70
E: SUBSYSTEM=input
E: USEC_INITIALIZED=3314729402
E: WL_OUTPUT=HDMI-1
# Pencil with blue label
udevadm info /dev/in#
P: /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.3/1-1.3:1.1/0003:04B8:0326.000F/input/input56/event7
N: input/event7
S: input/by-id/usb-EPSON_EPSON_EPSON_675Wi-if01-event-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:1.3:1.1-event-mouse
E: DEVLINKS=/dev/input/by-id/usb-EPSON_EPSON_EPSON_675Wi-if01-event-mouse /dev/input/by-path/pci-0000:00:14.0-usb-0:1.3:1.1-event-mouse
E: DEVNAME=/dev/input/event7
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.3/1-1.3:1.1/0003:04B8:0326.000F/input/input56/event7
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_MOUSE=1
E: ID_MODEL=EPSON_EPSON_675Wi
E: ID_MODEL_ENC=EPSON\x20EPSON\x20675Wi
E: ID_MODEL_ID=0326
E: ID_PATH=pci-0000:00:14.0-usb-0:1.3:1.1
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1_3_1_1
E: ID_REVISION=1234
E: ID_SERIAL=EPSON_EPSON_EPSON_675Wi
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030002:030000:
E: ID_USB_INTERFACE_NUM=01
E: ID_VENDOR=EPSON
E: ID_VENDOR_ENC=EPSON
E: ID_VENDOR_ID=04b8
E: LIBINPUT_DEVICE_GROUP=3/4b8/326:usb-0000:00:14.0-1
E: MAJOR=13
E: MINOR=71
E: SUBSYSTEM=input
E: USEC_INITIALIZED=3314729382
E: WL_OUTPUT=HDMI-1
# There is no event on this input when manipulating pencils, I don't know what it is
udevadm info /dev/input/event28
P: /devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.3/1-1.3:1.2/0003:04B8:0326.0010/input/input60/event28
N: input/event28
S: input/by-id/usb-EPSON_EPSON_EPSON_675Wi-event-if02
S: input/by-path/pci-0000:00:14.0-usb-0:1.3:1.2-event
E: DEVLINKS=/dev/input/by-id/usb-EPSON_EPSON_EPSON_675Wi-event-if02 /dev/input/by-path/pci-0000:00:14.0-usb-0:1.3:1.2-event
E: DEVNAME=/dev/input/event28
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-1/1-1.3/1-1.3:1.2/0003:04B8:0326.0010/input/input60/event28
E: ID_BUS=usb
E: ID_INPUT=1
E: ID_INPUT_TOUCHSCREEN=1
E: ID_MODEL=EPSON_EPSON_675Wi
E: ID_MODEL_ENC=EPSON\x20EPSON\x20675Wi
E: ID_MODEL_ID=0326
E: ID_PATH=pci-0000:00:14.0-usb-0:1.3:1.2
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_1_3_1_2
E: ID_REVISION=1234
E: ID_SERIAL=EPSON_EPSON_EPSON_675Wi
E: ID_TYPE=hid
E: ID_USB_DRIVER=usbhid
E: ID_USB_INTERFACES=:030002:030000:
E: ID_USB_INTERFACE_NUM=02
E: ID_VENDOR=EPSON
E: ID_VENDOR_ENC=EPSON
E: ID_VENDOR_ID=04b8
E: LIBINPUT_DEVICE_GROUP=3/4b8/326:usb-0000:00:14.0-1
E: MAJOR=13
E: MINOR=92
E: SUBSYSTEM=input
E: USEC_INITIALIZED=3314752927
E: WL_OUTPUT=HDMI-1
Regards.
Edited by Daniel