Hello, The active pen of my ELAN touchscreen does not work as intended. Every time I press the primary stylus button it generates events, unfortunately not the correct ones. Device Name: ELAN2097:00 04F3:2766 So this is the output of evtest when pressing and releasing the primary button: BTN_TOOL_PEN 0 BTN_TOOL_PEN 1 BTN_TOOL_RUBBER 1 (releasing) BTN_TOOL_PEN 0 BTN_TOOL_RUBBER 0 BTN_TOOL_PEN 1 whereas it should be: BTN_TOOL_PEN0 BTN_TOOL_RUBBER1 BTN_TOOL_RUBBER0 BTN_TOOL_PEN1 So I looked into it and found my device is using the i2c_hid driver for transport and hid-multitouch for data handling. After realising those two should work pretty much out of the box if the corresponding device descriptors are correct. Examining /sys/kernel/debug/hid/.../events showed me this behavior whereas every other fields behaved correctly: Pen is not in range: Digitizers.InRange = 0 Digitizers.TipSwitch = 0 Digitizers.Invert = 0 Digitizers.Eraser = 0 Pen is in range but NOT touching the display: Digitizers.InRange = 1 Digitizers.TipSwitch = 0 Digitizers.Invert = 0 Digitizers.Eraser = 0 Pen is in range AND touching the display: Digitizers.InRange = 1 Digitizers.TipSwitch = 1 Digitizers.Invert = 0 Digitizers.Eraser = 0 Pen is in range, NOT touching the display AND primary button (eraser) is pressed: Digitizers.InRange = 1 Digitizers.TipSwitch = 0 Digitizers.Invert = 1 Digitizers.Eraser = 0 Pen is in range, touching the display AND primary button (eraser) is pressed: Digitizers.InRange = 1 Digitizers.TipSwitch = 0 (yes this stays 0) Digitizers.Invert = 0 Digitizers.Eraser = 1 This is the extracted hid report descriptor: https://pastebin.com/Tva802hT Unfortunately, my knowledge of the linux kernel and especially the drivers are not that proficient to fix this solely by myself. However, I would be more than happy to write some code with a bit of help. Thanks, Julius