Unix & Linux Stack Exchange
Q&A for users of Linux, FreeBSD and other Unix-like operating systems
Latest Questions
1
votes
0
answers
37
views
USB graphics tablet not registered, nothing reported by dmesg
I'm setting up a new laptop (an ASUS ProArt PX13 HN7306) with Arch Linux, to replace an ailing one (a nine-year old Dell Latitude). Everything has gone okay so far, except I cannot seem to figure out how to get the graphics tablet (a One By Wacom CTL-472) to work as it did on the old machine. The co...
I'm setting up a new laptop (an ASUS ProArt PX13 HN7306) with Arch Linux, to replace an ailing one (a nine-year old Dell Latitude). Everything has gone okay so far, except I cannot seem to figure out how to get the graphics tablet (a One By Wacom CTL-472) to work as it did on the old machine.
The computer doesn't seem to register the presence of the device at all when it is plugged in — the little indicator light on the tablet does not turn on, which presumably means that the tablet isn't getting powered. Neither
lsusb
nor dmesg
notice the device: it doesn't show up in the lsusb
listing, and dmesg
produces no additional output when it is plugged in/unplugged.
I would have been convinced it is a problem with the physical connector or devices if not for that
- the same tablet still works on the old machine, and
- the same physical USB port on the new machine is perfectly happy with e.g. an optical mouse, or storage devices.
What next steps could I take to possibly find out what the problem is here?
----------
In case it happens to contain any illuminating information, here is the dmesg
output from plugging in the mouse, and then removing after a few seconds, on both machines. On the old computer:
[ 128.707470] usb 1-3: new low-speed USB device number 5 using xhci_hcd
[ 129.099679] usb 1-3: New USB device found, idVendor=0000, idProduct=3825, bcdDevice= 1.00
[ 129.099706] usb 1-3: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 129.099718] usb 1-3: Product: USB OPTICAL MOUSE
[ 129.105914] input: USB OPTICAL MOUSE as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:0000:3825.0003/input/input21
[ 129.106414] hid-generic 0003:0000:3825.0003: input,hidraw2: USB HID v1.11 Mouse [ USB OPTICAL MOUSE] on usb-0000:00:14.0-3/input0
[ 181.931837] usb 1-3: USB disconnect, device number 5
And on the new one:
[ 32.138174] usb 3-2: new low-speed USB device number 4 using xhci_hcd
[ 32.281060] usb 3-2: New USB device found, idVendor=0000, idProduct=3825, bcdDevice= 1.00
[ 32.281081] usb 3-2: New USB device strings: Mfr=0, Product=1, SerialNumber=0
[ 32.281085] usb 3-2: Product: USB OPTICAL MOUSE
[ 32.299938] input: USB OPTICAL MOUSE as /devices/pci0000:00/0000:00:08.3/0000:c7:00.0/usb3/3-2/3-2:1.0/0003:0000:3825.000A/input/input45
[ 32.300568] hid-generic 0003:0000:3825.000A: input,hidraw8: USB HID v1.11 Mouse [ USB OPTICAL MOUSE] on usb-0000:c7:00.0-2/input0
[ 54.571092] usb 3-2: USB disconnect, device number 4
Doing the same with the graphics tablet on the old computer, we see this:
[ 241.966795] usb 1-3: new full-speed USB device number 6 using xhci_hcd
[ 242.095536] usb 1-3: New USB device found, idVendor=056a, idProduct=037a, bcdDevice= 1.00
[ 242.095571] usb 1-3: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[ 242.095583] usb 1-3: Product: CTL-472
[ 242.095593] usb 1-3: Manufacturer: Wacom Co.,Ltd.
[ 242.095602] usb 1-3: SerialNumber: 2EA00L1065465
[ 242.104736] input: Wacom Co.,Ltd. CTL-472 Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:056A:037A.0004/input/input22
[ 242.105236] hid-generic 0003:056A:037A.0004: input,hiddev96,hidraw2: USB HID v1.10 Mouse [Wacom Co.,Ltd. CTL-472] on usb-0000:00:14.0-3/input0
[ 242.107365] hid-generic 0003:056A:037A.0005: hiddev97,hidraw3: USB HID v1.10 Device [Wacom Co.,Ltd. CTL-472] on usb-0000:00:14.0-3/input1
[ 242.185292] wacom 0003:056A:037A.0004: hidraw2: USB HID v1.10 Mouse [Wacom Co.,Ltd. CTL-472] on usb-0000:00:14.0-3/input0
[ 242.185350] input: Wacom One by Wacom S Pen as /devices/pci0000:00/0000:00:14.0/usb1/1-3/1-3:1.0/0003:056A:037A.0004/input/input24
[ 247.945002] usb 1-3: USB disconnect, device number 6
And on the new one there is nothing at all.
jl2
(111 rep)
Jul 5, 2025, 06:18 PM
0
votes
1
answers
419
views
How to enable Pen Pressure in Clip Studio Paint installed via Bottles? (Linux Mint)
I have Clip Studio Paint version 2.2.0 installed. It sees my graphics tablet as a mouse. My OS: Linux Mint 22 Wilma / Cinnamon Dependencies that I downloaded: vcrun 2019 and 2015 fonts d3dcompiller_47 Windows Version: Windows 8.1 Runner: soda-9.0.1 In the CSP itself, I checked the checkbox in the se...
I have Clip Studio Paint version 2.2.0 installed. It sees my graphics tablet as a mouse.
My OS:
Linux Mint 22 Wilma / Cinnamon
Dependencies that I downloaded:
vcrun 2019 and 2015
fonts
d3dcompiller_47
Windows Version:
Windows 8.1
Runner:
soda-9.0.1
In the CSP itself, I checked the checkbox in the settings - Preferences - Tablet - Using tablet service: Wintab (I tried with this setting and without it)
(!) I also realized that perhaps the problem is that my CSP cannot reconnect to the tablet after I press any button with my mouse.
I disconnected the mouse from USB completely, then my CSP began to work adequately and began to see my tablet.
I also tried to configure the mouse disabling in bottle via the registry, set different variables and disabled/enabled dlls, but nothing worked.
I think I need to disable mouse visibility in bottle, maybe this will solve the problem. But I don't know how
Uclai Anderson
(1 rep)
Nov 10, 2024, 06:31 AM
• Last activity: Jan 7, 2025, 07:21 PM
2
votes
2
answers
1326
views
How to run linux distributions on android tablets?
I heard that android uses a linux kernel. Does that mean android tablets can run linux distributions like debian or arch? How can I replace stock android with linux on a tablet?
I heard that android uses a linux kernel. Does that mean android tablets can run linux distributions like debian or arch? How can I replace stock android with linux on a tablet?
aho9494
(21 rep)
Jan 8, 2023, 05:50 PM
• Last activity: Jul 16, 2024, 07:20 PM
0
votes
1
answers
47
views
Why does graphics tablet pressure work for press but not release?
I'm using a Wacom GD-0912-U graphics tablet. I'm running Debian 12.5 and Gimp 2.10.34. In Gimp, when I touch the pointed end of the pen to the tablet, it registers as a press. But when I lift the pen, the release isn't registered until the pen is about 2.5cm off the tablet. The eraser end of the pen...
I'm using a Wacom GD-0912-U graphics tablet. I'm running Debian 12.5 and Gimp 2.10.34.
In Gimp, when I touch the pointed end of the pen to the tablet, it registers as a press. But when I lift the pen, the release isn't registered until the pen is about 2.5cm off the tablet.
The eraser end of the pen works fine, however. The release occurs as soon as I lift the pen.
What can I do to make the pointed end work the same way?
Marnanel Thurman
(8759 rep)
Jun 9, 2024, 12:11 AM
• Last activity: Jun 9, 2024, 07:24 PM
0
votes
1
answers
382
views
Pen display stylus points at both monitors, not just the pen display
Just tried connecting a Gaomon PD2200 pen display to my Debian-based x64 system, and it almost completely works right away: the display shows up as a second monitor, and the stylus moves the mouse. Unfortunately, the stylus moves over *both* monitors: if I set up my primary monitor to be above the p...
Just tried connecting a Gaomon PD2200 pen display to my Debian-based x64 system, and it almost completely works right away: the display shows up as a second monitor, and the stylus moves the mouse.
Unfortunately, the stylus moves over *both* monitors: if I set up my primary monitor to be above the pen display, then moving the stylus to the bottom of the pen display moves the mouse to the bottom of the pen display as it should, but moving the stylus to the top of the pen display moves the mouse to the top of my primary monitor. The mouse pointer is only under the stylus when the stylus is in the bottom right hand corner.
What I'd like is to associate the input device with the monitor somehow, so X knows that all coordinates from the stylus should be mapped to mouse positions within this secondary monitor. But I can't figure out how to control this; the "Graphics Tablet" setting just says "No tablet detected", and I can't find anything relevant in the "Display" or "Mouse and Touchpad" settings.
Does the setting I want exist? What are some useful search terms for this? I'm happy to make like it's 1997 and get down and dirty with the
xorg.conf
file.
Paul Crowley
(111 rep)
May 21, 2020, 09:59 PM
• Last activity: May 30, 2024, 09:07 AM
1
votes
1
answers
94
views
Make input device (mouse) "unavailable" to desktop
What I am looking for is a way to prevent a pointer device (specifically the pen of a graphics tablet) from being used as a regular input pointer by X11 or Wayland. However, I would like to still be able to evaluate clicks and moves in my program. So basically tie the output of that pen to my applic...
What I am looking for is a way to prevent a pointer device (specifically the pen of a graphics tablet) from being used as a regular input pointer by X11 or Wayland. However, I would like to still be able to evaluate clicks and moves in my program. So basically tie the output of that pen to my application, ideally regardless of whether it has focus or not.
Under X11, devices can be set "floating", which prevents these from being used as generic input device, but I am not sure whether the same can be done in Wayland and how.
What is the best way to achieve this?
user52366
(221 rep)
Apr 16, 2024, 07:34 AM
• Last activity: Apr 16, 2024, 07:48 AM
8
votes
3
answers
4261
views
Restrict graphic tablet to primary display
I have a Huion DWH69 graphic tablet with Manjaro Linux installed. I have two displays connected. It seems like to work out of the box, but the problem is that I want to bound the surface to the limits of the primary monitor. At the moment, the horizontal movements are very fast since it is a small t...
I have a Huion DWH69 graphic tablet with Manjaro Linux installed.
I have two displays connected.
It seems like to work out of the box, but the problem is that I want to bound the surface to the limits of the primary monitor.
At the moment, the horizontal movements are very fast since it is a small tablet but a huge area of display.
How can I configure that? I guess I have to touch the X-Server in some way, but I don't know how.
EchtFettigerKeks
(439 rep)
Mar 7, 2018, 01:17 PM
• Last activity: Jan 27, 2024, 08:46 PM
1
votes
3
answers
8076
views
Configuring XP-Pen graphics tablet on linux (specifically wayland)
I've acquired myself XP-Pen Deco mini 7 graphics tablet. Pointer and pressure work out of the box, but I want to rotate it to left-hand mode and change actions on pad and stylus buttons. I'm using [Sway][1] wayland compositor on archlinux. [1]: https://swaywm.org/
I've acquired myself XP-Pen Deco mini 7 graphics tablet. Pointer and pressure work out of the box, but I want to rotate it to left-hand mode and change actions on pad and stylus buttons.
I'm using Sway wayland compositor on archlinux.
MadRunner
(541 rep)
Mar 23, 2022, 01:46 PM
• Last activity: Sep 8, 2023, 11:29 AM
0
votes
1
answers
137
views
Help to figure out xinput transform matrix for a tablet?
I have a small wacom pad and a large monitor. And i wanted to reduce the area of the screen where the tablet surface is mapped. Sadly graphical utility does not allow this. Currently the configuration is the following: Coordinate Transformation Matrix (216): 0.571429, 0.000000, 0.428571, 0.000000, 1...
I have a small wacom pad and a large monitor. And i wanted to reduce the area of the screen where the tablet surface is mapped. Sadly graphical utility does not allow this.
Currently the configuration is the following:
Coordinate Transformation Matrix (216): 0.571429, 0.000000, 0.428571, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
This maps to the HDMI connected 2nd monitor in landscape mode. I want to rotate mapping 90 degrees and use half of the screen in portrait mode. Infotunnely just multiplying given figures to rotation matrix gives total mess. As i unerstand due to not square shape of the area. But no idea how to do it right. So basically i need do the following.

Roman
(1 rep)
Aug 23, 2023, 04:26 PM
• Last activity: Aug 24, 2023, 09:15 AM
0
votes
0
answers
64
views
Multi-hand drawing on ir-board
I have many LUMIOBOARD DVIRT-9101. It recognizes as: [ 2.309343] hid: raw HID events driver (C) Jiri Kosina [ 2.498330] usb 1-2.2.1: new full-speed USB device number 6 using xhci_hcd [ 2.720902] usb 1-2.2.1: New USB device found, idVendor=255e, idProduct=8085, bcdDevice= 2.00 [ 2.720910] usb 1-2.2.1...
I have many LUMIOBOARD DVIRT-9101. It recognizes as:
[ 2.309343] hid: raw HID events driver (C) Jiri Kosina
[ 2.498330] usb 1-2.2.1: new full-speed USB device number 6 using xhci_hcd
[ 2.720902] usb 1-2.2.1: New USB device found, idVendor=255e, idProduct=8085, bcdDevice= 2.00
[ 2.720910] usb 1-2.2.1: New USB device strings: Mfr=1, Product=0, SerialNumber=0
[ 2.720913] usb 1-2.2.1: Manufacturer: IrScreen cc
[ 2.735815] usbcore: registered new interface driver usbhid
[ 2.735819] usbhid: USB HID core driver
[ 2.956773] input: IrScreen cc Touchscreen as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2.1/1-2.2.1:1.0/0003:255E:8085.0002/input/input4
[ 2.956952] hid-generic 0003:255E:8085.0002: input,hiddev0,hidraw1: USB HID v1.11 Device [IrScreen cc] on usb-0000:00:14.0-2.2.1/input0
[ 2.957187] input: IrScreen cc Mouse as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2.1/1-2.2.1:1.1/0003:255E:8085.0003/input/input6
[ 2.957338] input: IrScreen cc Keyboard as /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.2/1-2.2.1/1-2.2.1:1.1/0003:255E:8085.0003/input/input7
[ 3.014684] hid-generic 0003:255E:8085.0003: input,hidraw2: USB HID v1.11 Mouse [IrScreen cc] on usb-0000:00:14.0-2.2.1/input1
Original program (SensStudio) only exists for Windows. I launched it with Wine, but wine doesn't support multi-touch, as I read.
Then I tried many others (Openboard, Xournal++, rainbow-board_0.8.1 and many others) with Debian 11 and Ubuntu 20.04.4.
Only 1 line drawing.
Manufacturer's program (SensStudio) and "rainbow-board" support multi-hand writing under Windows. No super-driver is used. It detects as touchscreen, as under linux.
I use Xorg, but see same problem with Wayland: https://unix.stackexchange.com/questions/710275/draw-with-multiple-fingers-styluses-simultaneously-on-a-touchscreen/742132#742132
What can I do to resolve this problem? Can I add multi-touch support in Wine (from licensed Windows of course)?
Some people tell to try this, but I'm not sure It helps:
https://wiki.archlinux.org/title/Multi-pointer_X
Joe Mendel
(1 rep)
Apr 10, 2023, 05:47 PM
• Last activity: Apr 10, 2023, 06:15 PM
2
votes
1
answers
210
views
Qemu: EvTouch tablet support in old SLES 9 guest
I am running a SLES 9.0 guest on Centos Stream through Qemu/KVM. Before going into the details: there is no possibility for me to upgrade the guest. It is running a dedicated hardware which only supports this kernel version (2.4.21). SLES 9.0 sadly has no built-in support for the EvTouch USB tablet...
I am running a SLES 9.0 guest on Centos Stream through Qemu/KVM.
Before going into the details: there is no possibility for me to upgrade the guest. It is running a dedicated hardware which only supports this kernel version (2.4.21).
SLES 9.0 sadly has no built-in support for the EvTouch USB tablet provided through Qemu. I googled a bit and found an open-source evtouch driver from Kenan Esau (http://www.stz-softwaretechnik.de/~ke/touchscreen/evtouch.html or http://www.conan.de/touchscreen/evtouch.html used to be one source...). The webpages are down, but the internet archive has copies of the first url which still contain the tarballs. This way I managed to get the precompiled and src packages of all versions except v0.87 for which I only found the sources.
I am trying to get the driver to work to support absolute pointing in the guest, which I need when connecting to the host via VNC. Without the table driver I cannot use the mouse in the guest over VNC (actually xrdp, but that doesn't matter).
---------------- UPDATE---------------
What have I've tried:
Originally SLES 9.0 came with XFree4.3.0.1. Installing the driver via xmkmf -a was missing XFree source files, so I was forced to get sources. The sources for 4.3.0 however did not contain all files that the driver tried to include.
Of the precompiled drivers I only managed to load the v0.8 version, however it wasn't working as the cursor remained stuck. There was no error in /var/log/XF86Free.0.log.
Hence I decided to upgrade XFree from the binaries of the Xfree ftp server (there were no respective packages for SLES 9). This worked wonderfully and now I have XFree 4.4.0.
Also, I now downloaded the 4.4.0 sources and tried to compile the driver myself.
After adding some additional include paths and copying 3 .def files and /usr/bin/revpath to the paths where make expected them I was in fact able to compile v0.8.0!!
XFree86.0.log now correctly mentions the driver being loaded and also that it was compiled for XFree4.4.0. The behavior however is the same as for the pre-compiled v0.8.0 - no error message, mouse not moving.
Interestingly, by copying the Imake-file I to the v0.8.8 sources and adding one further include (+ adapting the list of .c files), I even managed to compile the newest version for my device, but: SAME.
Skimming through the INSTALl file, I saw that I can also compile using DEBUG=y and LOG=y.
I did this and now I got at least some info in the /var/log/XFree86.0.log.
The relevant parts of the file are below:
(II) Module evtouch: vendor="Kenan Esau"
compiled for 4.4.0, module version = 0.8.8
Module class: XFree86 XInput Driver
ABI class: XFree86 XInput driver, version 0.4
EVTouch: EVTouchPreInit
State: S_UNTOUCHED Action: No Action Button: 0
State: S_TOUCHED Action: No Action Button: 0
State: S_LONGTOUCHED Action: down Button: 1
State: S_MOVING Action: No Action Button: 0
State: S_MAYBETAPPED Action: click Button: 1
State: S_ONEANDAHALFTAP Action: down Button: 3
(**) Option "MinX" "0"
(**) Option "MaxX" "32767"
(**) Option "MinY" "0"
(**) Option "MaxY" "32767"
(**) Option "Emulate3Buttons"
(**) Option "Emulate3Timeout" "50"
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(diff/diff)=(0/0)
(**) Option "DeviceName" "touchscreen"
(**) Option "SendCoreEvents"
(**) touchscreen: always reports core events
(**) Option "CorePointer"
(**) touchscreen: Core Pointer
(**) Option "Protocol" "imps/2"
(**) Mouse: Device: "/dev/mouse"
(**) Mouse: Protocol: "imps/2"
(**) Option "CorePointer" "False"
(**) Option "Device" "/dev/mouse"
(**) Option "Buttons" "5"
(**) Mouse: Emulate3Buttons, Emulate3Timeout: 50
(**) Option "ZAxisMapping" "4 5"
(**) Mouse: ZAxisMapping: buttons 4 and 5
(**) Mouse: Buttons: 5
(II) XINPUT: Adding extended input device "Mouse" (type: MOUSE)
(II) XINPUT: Adding extended input device "touchscreen" (type: TOUCHSCREEN)
EVTouch: DeviceInit
EVTouch: Display X,Y: 1920 910
EVTouch: Virtual X,Y: 1920 910
EVTouch: DriverName, Rev.: vmware 657922
EVTouch: Viewport X0,Y0: 0 0
EVTouch: Viewport X1,Y1: 1919 909
EVTouch: MaxValue H,V: 0 0
EVTouch: DeviceInit btn_count=5
EVTouch: DeviceInit btn_count=5
(**) Option "Device" "/dev/input/event0"
EVTouch: DeviceOn
EVTouch: QueryHardware
(EE) touchscreen: Unable to grab device (Invalid argument).
EVTouch: DeviceOff
Changes to Imakefile
XFREE_TOP = /home/kmf/Desktop/xc
#INCLUDES = -I. -I$(XF86COMSRC) -I$(XF86SRC)/loader -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86 \
# -I$(SERVERSRC)/include -I$(SERVERSRC) -I$(XINCLUDESRC) -I$(EXTINCSRC) -I/home/kmf/Desktop/xc/include
INCLUDES = -I. -I$(XFREE_TOP)/programs/Xserver/hw/xfree86/common \
-I$(XFREE_TOP)/programs/Xserver/hw/xfree86/loader \
-I$(XFREE_TOP)/programs/Xserver/hw/xfree86/os-support \
-I$(XFREE_TOP)/programs/Xserver/hw/xfree86/os-support/bus \
-I$(XFREE_TOP)/programs/Xserver/hw/xfree86/xf86cfg \
-I$(XFREE_TOP)/programs/Xserver/randr \
-I$(XFREE_TOP)/include \
-I$(XFREE_TOP)/programs/Xserver/include \
-I$(XFREE_TOP)/programs/Xserver/hw/xfree86 \
-I$(XFREE_TOP)/exports/include/X11 -I$(XFREE_TOP)/include/extensions \
-I/usr/X11R6/include
for 0.8.8 to compile also:
SRCS1 = evtouch.c libtouch.c
OBJS1 = evtouch.o libtouch.o
The make output is:
rm -f ev_calibrate.o
gcc -m32 -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith -Wundef -fno-merge-constants -I. -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/common -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/loader -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/os-support -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/os-support/bus -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/xf86cfg -I/home/kmf/Desktop/xc/programs/Xserver/randr -I/home/kmf/Desktop/xc/include -I/home/kmf/Desktop/xc/programs/Xserver/include -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86 -I/home/kmf/Desktop/xc/exports/include/X11 -I/home/kmf/Desktop/xc/include/extensions -I/usr/X11R6/include -I/home/kmf/Desktop/xc -I/home/kmf/Desktop/xc/exports/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV -DPANORAMIX -DRENDER -DRANDR -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -DFUNCPROTO=15 -DNARROWPROTO -DIN_MODULE -DXFree86Module -ggdb -DEVDBG -c ev_calibrate.c
ev_calibrate.c: In function `main':
ev_calibrate.c:185: warning: ISO C90 forbids variable-size array `xy_ring_buf'
ev_calibrate.c:357: warning: ordered comparison of pointer with integer zero
ev_calibrate.c:401: warning: ISO C forbids passing arg 3 of pthread_create' between function pointer and
void *'
ev_calibrate.c:181: warning: unused variable `p_mtx_attr'
rm -f ev_calibrate
gcc -m32 -o ev_calibrate -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith -Wundef -L/home/kmf/Desktop/xc/exports/lib ev_calibrate.o -lXaw -lXmu -lXt -lSM -lICE -lXpm -lXext -lX11 -lpthread -L/usr/X11R6/lib -Wl,-rpath-link,/home/kmf/Desktop/xc/exports/lib
rm -f evtouch.o
gcc -m32 -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith -Wundef -fno-merge-constants -I. -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/common -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/loader -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/os-support -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/os-support/bus -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/xf86cfg -I/home/kmf/Desktop/xc/programs/Xserver/randr -I/home/kmf/Desktop/xc/include -I/home/kmf/Desktop/xc/programs/Xserver/include -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86 -I/home/kmf/Desktop/xc/exports/include/X11 -I/home/kmf/Desktop/xc/include/extensions -I/usr/X11R6/include -I/home/kmf/Desktop/xc -I/home/kmf/Desktop/xc/exports/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV -DPANORAMIX -DRENDER -DRANDR -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -DFUNCPROTO=15 -DNARROWPROTO -DIN_MODULE -DXFree86Module -ggdb -DEVDBG -c evtouch.c
evtouch.c:84:1: warning: "DBG" redefined
In file included from evtouch.c:75:
/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/common/xf86Xinput.h:113:1: warning: this is the location of the previous definition
In file included from evtouch.c:95:
evtouch.h:33:21: warning: anonymous variadic macros were introduced in C99
evtouch.c: In function `emulate3Timer':
evtouch.c:201: warning: ISO C89 forbids mixed declarations and code
evtouch.c: In function `EVTouchProcessRel':
evtouch.c:355: warning: unused variable `dummy'
evtouch.c: In function `DeviceInit':
evtouch.c:590: warning: ISO C89 forbids mixed declarations and code
evtouch.c:605: warning: ISO C89 forbids mixed declarations and code
evtouch.c: In function `ReadInput':
evtouch.c:810: warning: 0' flag ignored with precision and
%x' printf format
evtouch.c:810: warning: 0' flag ignored with precision and
%x' printf format
evtouch.c: In function `ConvertProc':
evtouch.c:923: warning: ISO C89 forbids mixed declarations and code
evtouch.c:937: warning: implicit declaration of function `RRGetRotation'
evtouch.c:1080: warning: ISO C89 forbids mixed declarations and code
/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/common/compiler.h: At top level:
evtouch.c:753: warning: `EVTouchRead' defined but not used
rm -f libtouch.o
gcc -m32 -O2 -fno-strength-reduce -fno-strict-aliasing -ansi -pedantic -Wall -Wpointer-arith -Wundef -fno-merge-constants -I. -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/common -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/loader -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/os-support -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/os-support/bus -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86/xf86cfg -I/home/kmf/Desktop/xc/programs/Xserver/randr -I/home/kmf/Desktop/xc/include -I/home/kmf/Desktop/xc/programs/Xserver/include -I/home/kmf/Desktop/xc/programs/Xserver/hw/xfree86 -I/home/kmf/Desktop/xc/exports/include/X11 -I/home/kmf/Desktop/xc/include/extensions -I/usr/X11R6/include -I/home/kmf/Desktop/xc -I/home/kmf/Desktop/xc/exports/include -Dlinux -D__i386__ -D_POSIX_C_SOURCE=199309L -D_POSIX_SOURCE -D_XOPEN_SOURCE -D_BSD_SOURCE -D_SVID_SOURCE -D_GNU_SOURCE -DSHAPE -DXINPUT -DXKB -DLBX -DXAPPGROUP -DXCSECURITY -DTOGCUP -DXF86BIGFONT -DDPMSExtension -DPIXPRIV -DPANORAMIX -DRENDER -DRANDR -DGCCUSESGAS -DAVOID_GLYPHBLT -DPIXPRIV -DSINGLEDEPTH -DXFreeXDGA -DXvExtension -DXFree86LOADER -DXFree86Server -DXF86VIDMODE -DXvMCExtension -DSMART_SCHEDULE -DBUILDDEBUG -DXResExtension -DX_BYTE_ORDER=X_LITTLE_ENDIAN -DNDEBUG -DFUNCPROTO=15 -DNARROWPROTO -DIN_MODULE -DXFree86Module -ggdb -DEVDBG -c libtouch.c
rm -f evtouch_drv.o
gcc -m32 -nostdlib -r evtouch.o libtouch.o -o evtouch_drv.o
rm -f /home/kmf/Desktop/xc/exports/lib/modules/input/evtouch_drv.o
+ cd /home/kmf/Desktop/xc/exports/lib/modules/input
+ ln -s ../../../..//home/kmf/Desktop/Evtouch/xf86-input-evtouch-0.8.8/evtouch_drv.o .
I should mention that v0.8.8 had a syntax error in its C-code in line 676, which I changed as follows (based on the driver code of v0.8.6):
#if GET_ABI_MAJOR(ABI_XINPUT_VERSION) == 2
xf86InitValuatorAxisStruct(dev, 0, 0, priv->screen_width,
1024,
EV_AXIS_MIN_RES /* min_res */ ,
EV_AXIS_MAX_RES /* max_res */ );
xf86InitValuatorDefaults(dev, 0);
xf86InitValuatorAxisStruct(dev, 1, 0, priv->screen_height,
1024,
EV_AXIS_MIN_RES /* min_res */ ,
EV_AXIS_MAX_RES /* max_res */ );
xf86InitValuatorDefaults(dev, 1);
#else
xf86InitValuatorAxisStruct(dev, 0, priv->min_x, priv->max_x,
1024, //THIS LINE WAS MISSING
EV_AXIS_MIN_RES /* min_res */ , //THIS LINE WAS MISSING
EV_AXIS_MAX_RES /* max_res */ ); //THIS LINE WAS MISSING
xf86InitValuatorDefaults(dev, 0); //THIS LINE WAS MISSING
InitValuatorAxisStruct (dev, 1, priv->min_y, priv->max_y, //THIS LINE WAS MISSING
1024, //THIS LINE WAS MISSING
EV_AXIS_MIN_RES /* min_res */ , //THIS LINE WAS MISSING
EV_AXIS_MAX_RES /* max_res */ ); //THIS LINE WAS MISSING
xf86InitValuatorDefaults(dev, 1);
#endif
dmesg reports at its end:
input: USB HID v0.01 Mouse [QEMU QEMU USB Tablet] on usb1:2.0
hid-core.c: v1.9.1 Andreas Gal, Vojtech Pavlik
hid-core.c: USB HID support drivers
mtrr: type mismatch for fa000000,2000000 old: uncachable new: write-combining
The error message is: (EE) touchscreen: Unable to grab device (Invalid argument). Sadly there is no info about which argument is actually invalid.
Checking the code in evtouch.c, I see that the error is raised at the following instance of the DeviceOn function:
if (ioctl(local->fd, EVIOCGRAB, (void *)1))
xf86Msg(X_ERROR, "%s: Unable to grab device (%s).\n", local->name, strerror(errno));
where EVIOCGRAB is defined as:
#ifndef EVIOCGRAB
#define EVIOCGRAB _IOW('E', 0x90, int)
#endif
This sounds to me like some of the options in local->fd cannot be applied via ioctl. However I am starting to believe that there is some issue with the device presented to the guest, such that it cannot be grabbed properly...
How to get this thing running?
Elarion
(21 rep)
Oct 11, 2022, 12:10 PM
• Last activity: Nov 3, 2022, 10:20 AM
2
votes
1
answers
4288
views
Install LXLE on Lenovo Yoga tablet 2 1051L/F
I have pretty much tried everything I can find, but I haven't manged to get it to work. I have somehow managed to have [GRUB2][1] available with [WUBI][2], and have tried that way to start a live USB. Unfortunately, I have no idea how I've managed to get GRUB installed (I've tried for that long and...
I have pretty much tried everything I can find, but I haven't manged to get it to work.
I have somehow managed to have GRUB2 available with WUBI , and have tried that way to start a live USB. Unfortunately, I have no idea how I've managed to get GRUB installed (I've tried for that long and I've forgotten to document things).
In other words, how do I boot from a USB on a Lenovo Yoga tablet 2 1051L/F overview ?
I do have a USB to micro USB and a USB hub with four ports, a keyboard, and a USB pen drive with LXLE on it, so I do have the hardware.
Any help would be much appreciated.
Angus
(123 rep)
Jun 28, 2019, 09:52 PM
• Last activity: Oct 7, 2022, 03:21 PM
1
votes
1
answers
3588
views
Is it possible to install a linux based OS on an android tablet as dual boot exactly like a desktop?
My problematic is the following. I have a desktop (Ubuntu 18.04) where there is my databases and it can be used as a server. With a trivial laptop using a Linux OS I can easily communicate with my desktop by using [Jupyter Notebook](https://jupyter.org/) connected on it, [Mongo](https://www.mongodb....
My problematic is the following. I have a desktop (Ubuntu 18.04) where there is my databases and it can be used as a server. With a trivial laptop using a Linux OS I can easily communicate with my desktop by using [Jupyter Notebook](https://jupyter.org/) connected on it, [Mongo](https://www.mongodb.com/) and so on. Well using my desktop as force of computing and my laptop as an interface with "poor" computing capacities.
The problem is I don't have laptop now, but I have an Android Tablet [Samsung Galaxy Tab A 8.0 (2019)](https://wiki.postmarketos.org/wiki/Samsung_Galaxy_Tab_A_8.0_(2019)_(samsung-gtowifi)) .
It is compatible and tested with PostmarketOS as far as I know but there is something I dislike:
"Beware that by following these instructions, you will overwrite everything that is currently on your device. You will lose all data and it might not be possible to restore the original operating system. There is a risk of hard-bricking your device, meaning it may be impossible to recover without specialist tools. "
This is not what I am looking for. I don't want to replace my Android OS on it which is fine for other purposes. I would like to use it like a desktop where Grub give you the possibility to use the OS you want at the moment. Besides is it possible to install the OS and use it from a microSDcard in order to economize tablet storage's space ? Theoretically an OS can be installed on any storage peripheral storage device (like diskette a long time ago).
I know this is very general and there is maybe better option for the purpose I described at first in this topic. I am open minded about other solutions to answer this need because I am not very aware about all the pros and cons.
AvyWam
(113 rep)
Jul 11, 2022, 02:26 PM
• Last activity: Jul 11, 2022, 02:42 PM
1
votes
0
answers
1058
views
Setting up the iio-sensor-local for a Myria MY8307 2-in-1 laptop (Basically a Chuwi rebrand)
I recently aquired a Myria MY8307 laptop/tablet. I decided to give Kali a try but right after installing I ran into a problem. When the login shows up my screen is upside down, and it continues to be like that till I use "`xrandr -o left`" in the terminal. Edit: It's not a Kali only thing, I get the...
I recently aquired a Myria MY8307 laptop/tablet. I decided to give Kali a try but right after installing I ran into a problem. When the login shows up my screen is upside down, and it continues to be like that till I use "
xrandr -o left
" in the terminal.
Edit: It's not a Kali only thing, I get the same thing on both Fedora and Parrot Sec. So it's the iio-sensor that's causing it.
I tried adding
# Myria MY8307 (MY8307)
sensor:modalias:acpi:BOSC0200*:dmi:*:svnCompletElectroServ:pnMY8307:*
ACCEL_MOUNT_MATRIX=0, 1, 0; 0, -1, 0; 0, 0, 1
into a 61-sensor-local.hwdb
in /lib/udev/hwdb.d
but I can't seem to get it working. I was wondering if you guys could show me what I did wrong.
Running systemd-hwdb update
returns no error
Running udevadm trigger -v -p DEVNAME=/dev/iio:device0
returns
/sys/devices/pci0000:00/808622C1:02/i2c-2/i2c-BOSC0200:00/iio:device0
The output of dmidecode | grep Manufacturer
is
Manufacturer: Complet Electro Serv
Manufacturer: Insyde
Manufacturer: Chassis Manufacturer
Manufacturer: Intel(R) Corporation
Option 1: String1 for Type12 Equipment Manufacturer
Option 2: String2 for Type12 Equipment Manufacturer
Option 3: String3 for Type12 Equipment Manufacturer
Option 4: String4 for Type12 Equipment Manufacturer
Manufacturer: 0000
Manufacturer: Intel SR 1
Manufacturer: OEM Define 2
and the output of dmidecode | grep Product
is
Product Name: MY8307
Product Name: Cherry Trail CR
in the modalias file for 808622C1 I found acpi:808622C1:808622C1:
and the only 2 things that had anything related to accelerometer were these
P: /devices/pci0000:00/808622C1:02/i2c-2/i2c-BOSC0200:00
E: DEVPATH=/devices/pci0000:00/808622C1:02/i2c-2/i2c-BOSC0200:00
E: DRIVER=bmc150_accel_i2c
E: ID_VENDOR_FROM_DATABASE=BOS
E: MODALIAS=acpi:BOSC0200:BOSC0200:
E: SUBSYSTEM=i2c
E: USEC_INITIALIZED=5496176
P: /devices/pci0000:00/808622C1:02/i2c-2/i2c-BOSC0200:00/iio:device0
N: iio:device0
E: DEVNAME=/dev/iio:device0
E: DEVPATH=/devices/pci0000:00/808622C1:02/i2c-2/i2c-BOSC0200:00/iio:device0
E: DEVTYPE=iio_device
E: IIO_SENSOR_PROXY_TYPE=iio-buffer-accel
E: MAJOR=247
E: MINOR=0
E: SUBSYSTEM=iio
E: SYSTEMD_WANTS=iio-sensor-proxy.service
E: TAGS=:systemd:
E: USEC_INITIALIZED=5755344
I also have no idea how to get the right ACCEL_MOUNT_MATRIX so I thought I'll go for trial end error... even tho I think that might be a bad idea.
sensor:modalias:acpi:BOSC0200*:dmi:*:svnCompletElectroServ*:pnMY8307:*
ACCEL_MOUNT_MATRIX=-1, 0, 0; 0,1, 0; 0, 0,1
Edit: Solved
Zero
(11 rep)
May 29, 2018, 12:52 PM
• Last activity: May 16, 2022, 06:11 PM
0
votes
1
answers
1325
views
How can I use my android tablet (along with stylus pen) as external display on linux (Ubuntu 20)
I am running Ubuntu 20 on my ASUS VivoBook laptop. I have many PDF files (of research papers) that I often read and annotate. At present, I transfer the files to my S6 Lite tablet (an android tablet) to read and annotate the files there using the stylus pen S-pen. However, this creates multiple copi...
I am running Ubuntu 20 on my ASUS VivoBook laptop. I have many PDF files (of research papers) that I often read and annotate. At present, I transfer the files to my S6 Lite tablet (an android tablet) to read and annotate the files there using the stylus pen S-pen. However, this creates multiple copies of files, which are harder for me to find and maintain in the long run. I was wondering if I could directly annotate the files in the laptop by using the android tablet and its stylus pen.
The laptop itself doesn't have touchscreen. Is there a way to use the tablet as an external monitor for the laptop and use the S-pen to annotate the PDF files on the laptop?
jm jm
(1 rep)
Jul 4, 2021, 02:21 AM
• Last activity: Jul 4, 2021, 03:10 AM
0
votes
0
answers
79
views
How do I enable the keyboard whilst in tablet mode?
I have a HP Pavilion X360 laptop that can turn into a laptop, I am currently using POP!_OS. I have tried making a libinput file.. Enabling drivers.. They don't work. Anyone know how to achieve this?
I have a HP Pavilion X360 laptop that can turn into a laptop,
I am currently using POP!_OS.
I have tried making a libinput file.. Enabling drivers.. They don't work.
Anyone know how to achieve this?
warped sky
(1 rep)
Apr 18, 2021, 12:50 PM
1
votes
0
answers
1245
views
How to scroll by holding "middle-mouse" and moving pen on a tablet?
I am trying use a tablet as my primary pointing device instead of a mouse (to get comfortable with it). It works but scrolling has become very inconvenient. See, a mouse has a scroll wheel that I can use to scroll. But on the tablet, I have always drag the scroll bar. And some apps, also hide the sc...
I am trying use a tablet as my primary pointing device instead of a mouse (to get comfortable with it). It works but scrolling has become very inconvenient. See, a mouse has a scroll wheel that I can use to scroll. But on the tablet, I have always drag the scroll bar. And some apps, also hide the scroll bar until a scroll is made. Here is what I want to do.
My pen/stylus has a button that simulates a middle click. I can copy-paste with that button. I can open and close browser tabs with that button. It is a drop-in replacement for middle-click. On Windows, if you hold that middle button and move the mouse up or down, it simulates scrolling. I want to do that. Currently, only one application behaves that way, Zathura PDF Viewer. I want that behavior in all my applications. I looked around and I found this link:
https://unix.stackexchange.com/a/421672
It says that I have to set the two following properties:
xinput set-prop 11 "libinput Scroll Method Enabled" 0, 0, 1 # This is button
xinput set-prop 11 "libinput Button Scrolling Button" 2 # This is mi
But those commands give me the following error.
property 'libinput Scroll Method Enabled Default' doesn't exist, you need to specify its type and format
I have the following devices
$ xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ HID 256c:006e Pad id=14 [slave pointer (2)]
⎜ ↳ HID 256c:006e Pen Pen (0) id=20 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Power Button id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ HID 256c:006e Pen id=13 [slave keyboard (3)]
↳ NOVATEK USB NETVISTA FULL WIDTH KEYBOARD id=15 [slave keyboard (3)]
↳ NOVATEK USB NETVISTA FULL WIDTH KEYBOARD Consumer Controlid=16 [slave keyboard (3)]
↳ NOVATEK USB NETVISTA FULL WIDTH KEYBOARD System Control id=17 [slave keyboard (3)]
↳ Eee PC WMI hotkeys id=18 [slave keyboard (3)]
And, true, neither of the tablet (Pad or Pen) devices have the
libinput Scroll Method Enabled
property.
$ xinput list-props 14; xinput list-props 20;
Device 'HID 256c:006e Pad':
Device Enabled (156): 1
Coordinate Transformation Matrix (158):1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Left Handed Enabled (306): 0
libinput Left Handed Enabled Default (307): 0
libinput Send Events Modes Available (275): 1, 0
libinput Send Events Mode Enabled (276): 0, 0
libinput Send Events Mode Enabled Default (277): 0, 0
Device Node (278): "/dev/input/event12"
Device Product ID (279): 9580, 110
Device 'HID 256c:006e Pen Pen (0)':
Device Enabled (156): 1
Coordinate Transformation Matrix (158):1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
libinput Send Events Modes Available (275): 1, 0
libinput Send Events Mode Enabled (276): 0, 0
libinput Send Events Mode Enabled Default (277): 0, 0
Device Node (278): "/dev/input/event11"
Device Product ID (279): 9580, 110
libinput Tablet Tool Pressurecurve (502): 0.000000, 0.000000, 0.000000, 0.000000, 1.000000, 1.000000, 1.000000, 1.000000
So, with that property not existing, is there any other way in which I can simulate the scrolling by holding 'middle-mouse' and moving the pointer? There is a firefox specific setting called 'Auto Scrolling', but I don't want that. I want a OS specific setting where I can scroll in any application, for example, in my file manager Caja.
sigsegv
(169 rep)
Feb 8, 2021, 08:41 AM
2
votes
1
answers
1789
views
xsetwacom how do I assign script to button
How do I set a Wacom button to call a script? eg `xsetwacom --set "pad" Button 2 "~/path/to/script.sh"` Manjaro linux 4.4.15-3
How do I set a Wacom button to call a script? eg
xsetwacom --set "pad" Button 2 "~/path/to/script.sh"
Manjaro linux 4.4.15-3
Drew
(425 rep)
Aug 6, 2016, 12:10 AM
• Last activity: Jan 4, 2021, 11:44 AM
0
votes
2
answers
576
views
How to install wacm graphical tablet to Linux Mint?
I tried to follow this [webpage][1]. I have become stuck on this: [![enter image description here][2]][2] EDIT after advice: [![enter image description here][3]][3] [![enter image description here][4]][4] [1]: https://github.com/linuxwacom/input-wacom/wiki/Installing-input-wacom-from-source [2]: htt...
Elena Greg
(257 rep)
Dec 27, 2020, 09:32 AM
• Last activity: Dec 27, 2020, 12:59 PM
2
votes
0
answers
313
views
Graphics Tablet Keycodes are not being picked up
I'm currently trying to get buttons on my graphics tablet to be picked up as keycodes. Since more programs support keyboard shortcuts than extra mouse buttons (e.g. Krita only seems to support left-click and right-click), I want to be able to have the tablet buttons treated as keycodes so I can assi...
I'm currently trying to get buttons on my graphics tablet to be picked up as keycodes.
Since more programs support keyboard shortcuts than extra mouse buttons (e.g. Krita only seems to support left-click and right-click), I want to be able to have the tablet buttons treated as keycodes so I can assign them shortcuts in different programs.
## What I've Done so Far
I created a udev hwdb file (
/etc/udev/hwdb.d/90-huion.hwdb
) to map the tablet's scancodes to keycodes.
My hwdb file look like this:
evdev:input:b0003v256Cp006Ee0111*
KEYBOARD_KEY_90001=a
KEYBOARD_KEY_90002=a
KEYBOARD_KEY_90003=a
KEYBOARD_KEY_90004=a
KEYBOARD_KEY_90005=a
KEYBOARD_KEY_90006=a
KEYBOARD_KEY_90007=a
KEYBOARD_KEY_90008=a
KEYBOARD_KEY_90009=a
KEYBOARD_KEY_9000a=a
MANUAL_OVERRIDE=1
> The search portion used the values I found for event23 here:
>
> > cat /sys/class/input/event23/device/id/bustype
> > 0003
> cat /sys/class/input/event23/device/id/product
> > 006e
> cat /sys/class/input/event23/device/id/vendor
> > 256c
> cat /sys/class/input/event23/device/id/version
> > 0111
>
> I can't map based on the device's name since it has a colon (HID 256c:006e Pad),
> and I don't think that name will play nice with the hwdb file that uses colons as separators.
I've loaded this into hwdb.bin
and reloaded and (re)triggered udev rules
sudo systemd-hwdb update
sudo udevadmin trigger
sudo udevadm control --reload
> I've also tried updating the hwdb with the older sudo udevadm hwdb --update
with no difference.
> I've also tried removing and replugging in the tablet.
Using udevadm info
I can see my file is in use (hence the MANUAL_OVERRIDE=1
part that otherwise does nothing).
udevadm info
output:
P: /devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1:1.0/0003:256C:006E.0004/input/input23/event23
N: input/event23
L: 0
S: input/by-id/usb-256c_006e-event-mouse
S: input/by-path/pci-0000:00:14.0-usb-0:2.1.1:1.0-event-mouse
E: DEVPATH=/devices/pci0000:00/0000:00:14.0/usb1/1-2/1-2.1/1-2.1.1/1-2.1.1:1.0/0003:256C:006E.0004/input/input23/event23
E: DEVNAME=/dev/input/event23
E: MAJOR=13
E: MINOR=87
E: SUBSYSTEM=input
E: USEC_INITIALIZED=5852671
E: KEYBOARD_KEY_90001=a
E: KEYBOARD_KEY_90002=a
E: KEYBOARD_KEY_90003=a
E: KEYBOARD_KEY_90004=a
E: KEYBOARD_KEY_90005=a
E: KEYBOARD_KEY_90006=a
E: KEYBOARD_KEY_90007=a
E: KEYBOARD_KEY_90008=a
E: KEYBOARD_KEY_90009=a
E: KEYBOARD_KEY_9000a=a
E: MANUAL_OVERRIDE=1
E: ID_INPUT=1
E: ID_INPUT_TABLET=1
E: ID_INPUT_KEY=1
E: ID_VENDOR=256c
E: ID_VENDOR_ENC=256c
E: ID_VENDOR_ID=256c
E: ID_MODEL=006e
E: ID_MODEL_ENC=006e
E: ID_MODEL_ID=006e
E: ID_REVISION=3000
E: ID_SERIAL=256c_006e
E: ID_TYPE=hid
E: ID_BUS=usb
E: ID_USB_INTERFACES=:030102:
E: ID_USB_INTERFACE_NUM=00
E: ID_USB_DRIVER=usbhid
E: ID_PATH=pci-0000:00:14.0-usb-0:2.1.1:1.0
E: ID_PATH_TAG=pci-0000_00_14_0-usb-0_2_1_1_1_0
E: ID_INPUT_TABLET_PAD=1
E: LIBINPUT_DEVICE_GROUP=3/256c/6e:usb-0000:00:14.0-2.1
E: DEVLINKS=/dev/input/by-id/usb-256c_006e-event-mouse /dev/input/by-path/pci-0000:00:14.0-usb-0:2.1.1:1.0-event-mouse
E: TAGS=:power-switch:aaaaaaaaaa
## Debugging
### Evtest
As far as I know, that should be all that's required to map the tablet's buttons, things even look (mostly) promising with evtest
:
Testing ... (interrupt to exit)
Event: time 1589801905.094479, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1589801905.094479, type 1 (EV_KEY), code 30 (KEY_A), value 1
Event: time 1589801905.094479, -------------- SYN_REPORT ------------
Event: time 1589801905.252456, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1589801905.252456, type 1 (EV_KEY), code 30 (KEY_A), value 0
Event: time 1589801905.252456, -------------- SYN_REPORT ------------
Event: time 1589801906.960440, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1589801906.960440, type 1 (EV_KEY), code 30 (KEY_A), value 1
...
Event: time 1589801913.582373, -------------- SYN_REPORT ------------
Event: time 1589801913.936376, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1589801913.936376, type 1 (EV_KEY), code 30 (KEY_A), value 1
Event: time 1589801913.936376, -------------- SYN_REPORT ------------
Event: time 1589801914.086370, type 4 (EV_MSC), code 4 (MSC_SCAN), value 9000a
Event: time 1589801914.086370, type 1 (EV_KEY), code 30 (KEY_A), value 0
Event: time 1589801914.086370, -------------- SYN_REPORT ------------
Event: time 1589801914.992371, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1589801914.992371, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 1
Event: time 1589801914.992371, -------------- SYN_REPORT ------------
Event: time 1589801915.154366, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
Event: time 1589801915.154366, type 1 (EV_KEY), code 304 (BTN_SOUTH), value 0
Event: time 1589801915.154366, -------------- SYN_REPORT ------------
Event: time 1589801915.358379, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1589801915.358379, type 1 (EV_KEY), code 305 (BTN_EAST), value 1
Event: time 1589801915.358379, -------------- SYN_REPORT ------------
Event: time 1589801915.446357, type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
Event: time 1589801915.446357, type 1 (EV_KEY), code 305 (BTN_EAST), value 0
Event: time 1589801915.446357, -------------- SYN_REPORT ------------
With the exception of the final two buttons (BTN_SOUTH and BTN_EAST) that don't seem to be mapped (maybe because they have the same scancodes as buttons that are mapped), all the other buttons correctly report code 30 (KEY_A)
(if you have any ideas why these two buttons aren't mapped I'd love to know but it's not the problem I want to focus on right now).
### Xev
Using xev
only the two buttons that didn't seem to be mapped properly are picked up, here is the console output of xev
for those two buttons:
ButtonPress event, serial 34, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 8912753, (1,806), root:(971,821),
state 0x0, button 15, same_screen YES
ButtonRelease event, serial 34, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 8912953, (1,806), root:(971,821),
state 0x0, button 15, same_screen YES
ButtonPress event, serial 34, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 8913377, (1,806), root:(971,821),
state 0x0, button 16, same_screen YES
ButtonRelease event, serial 34, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 8913581, (1,806), root:(971,821),
state 0x0, button 16, same_screen YES
Before making the hwdb changes, the buttons were being picked up as buttons 1-3 and 8-16 (the unmapped buttons 15 and 16 are buttons BTN_SOUTH and BTN_EAST respectfully in the output of evtest
), but now xev
isn't seeing most of them (only the unmapped 15 and 16).
### Dmesg
Using sudo dmesg --follow
I don't see any events that look like unknown keypresses.
### Evemenu
The output of evemu-describe
before the hwdb changes:
# EVEMU 1.3
# Kernel: 5.7.0-1-MANJARO
# DMI: dmi:bvnAmericanMegatrendsInc.:bvr1205:bd05/11/2018:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnPRIMEZ270-P:rvrRevX.0x:cvnDefaultstring:ct3:cvrDefaultstring:
# Input device name: "HID 256c:006e Pad"
# Input device ID: bus 0x03 vendor 0x256c product 0x6e version 0x111
# Supported events:
# Event type 0 (EV_SYN)
# Event code 0 (SYN_REPORT)
# Event code 1 (SYN_CONFIG)
# Event code 2 (SYN_MT_REPORT)
# Event code 3 (SYN_DROPPED)
# Event code 4 ((null))
# Event code 5 ((null))
# Event code 6 ((null))
# Event code 7 ((null))
# Event code 8 ((null))
# Event code 9 ((null))
# Event code 10 ((null))
# Event code 11 ((null))
# Event code 12 ((null))
# Event code 13 ((null))
# Event code 14 ((null))
# Event code 15 (SYN_MAX)
# Event type 1 (EV_KEY)
# Event code 256 (BTN_0)
# Event code 257 (BTN_1)
# Event code 258 (BTN_2)
# Event code 259 (BTN_3)
# Event code 260 (BTN_4)
# Event code 261 (BTN_5)
# Event code 262 (BTN_6)
# Event code 263 (BTN_7)
# Event code 264 (BTN_8)
# Event code 265 (BTN_9)
# Event code 304 (BTN_SOUTH)
# Event code 305 (BTN_EAST)
# Event code 306 (BTN_C)
# Event code 331 (BTN_STYLUS)
# Event type 3 (EV_ABS)
# Event code 0 (ABS_X)
# Value 0
# Min 0
# Max 1
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 1 (ABS_Y)
# Value 0
# Min 0
# Max 1
# Fuzz 0
# Flat 0
# Resolution 0
# Event type 4 (EV_MSC)
# Event code 4 (MSC_SCAN)
# Properties:
N: HID 256c:006e Pad
I: 0003 256c 006e 0111
...
And after:
# EVEMU 1.3
# Kernel: 5.7.0-1-MANJARO
# DMI: dmi:bvnAmericanMegatrendsInc.:bvr1205:bd05/11/2018:svnSystemmanufacturer:pnSystemProductName:pvrSystemVersion:rvnASUSTeKCOMPUTERINC.:rnPRIMEZ270-P:rvrRevX.0x:cvnDefaultstring:ct3:cvrDefaultstring:
# Input device name: "HID 256c:006e Pad"
# Input device ID: bus 0x03 vendor 0x256c product 0x6e version 0x111
# Supported events:
# Event type 0 (EV_SYN)
# Event code 0 (SYN_REPORT)
# Event code 1 (SYN_CONFIG)
# Event code 2 (SYN_MT_REPORT)
# Event code 3 (SYN_DROPPED)
# Event code 4 ((null))
# Event code 5 ((null))
# Event code 6 ((null))
# Event code 7 ((null))
# Event code 8 ((null))
# Event code 9 ((null))
# Event code 10 ((null))
# Event code 11 ((null))
# Event code 12 ((null))
# Event code 13 ((null))
# Event code 14 ((null))
# Event code 15 (SYN_MAX)
# Event type 1 (EV_KEY)
# Event code 30 (KEY_A)
# Event code 256 (BTN_0)
# Event code 304 (BTN_SOUTH)
# Event code 305 (BTN_EAST)
# Event code 306 (BTN_C)
# Event code 331 (BTN_STYLUS)
# Event type 3 (EV_ABS)
# Event code 0 (ABS_X)
# Value 0
# Min 0
# Max 1
# Fuzz 0
# Flat 0
# Resolution 0
# Event code 1 (ABS_Y)
# Value 0
# Min 0
# Max 1
# Fuzz 0
# Flat 0
# Resolution 0
# Event type 4 (EV_MSC)
# Event code 4 (MSC_SCAN)
# Properties:
N: HID 256c:006e Pad
I: 0003 256c 006e 0111
...
### Trying Different Devices
In order to check if I did something wrong, I tried a very similar thing with my USB mouse (I didn't map scancode 90001 since that was left click). My mouse was picked up by xev
and when I right-click or scroll I get the letter "a" as I expect (so if you see any stray letter a's in the question that's why).
I compared the output of xev
on my keyboard and mouse:
#### Xev with Keyboard (no mapping)
KeyPress event, serial 34, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 4209087, (-1,721), root:(969,736),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 34, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 4209151, (-1,721), root:(969,736),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
#### Xev with Mouse (buttons mapped to "a")
MappingNotify event, serial 34, synthetic NO, window 0x0,
request MappingKeyboard, first_keycode 8, count 248
KeyPress event, serial 34, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 4211519, (-1,721), root:(969,736),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
KeyRelease event, serial 35, synthetic NO, window 0x3a00001,
root 0x6bd, subw 0x0, time 4211679, (-1,721), root:(969,736),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
## The Device
The tablet in question is a "Huion New 1060Plus"
I installed digimend-kernel-drivers-dkms-git
and I think my tablet is using the evdev driver (I don't have the alternative wacom driver installed xf86-input-wacom
, but I have libwacom
installed because it's used by libinput
and gnome-settings-daemon
).
Other than my problem with the buttons the tablet works fine, including pen pressure.
## Guides Used
I've followed guides mainly from the following sources:
- https://wiki.archlinux.org/index.php/Map_scancodes_to_keycodes
- https://askubuntu.com/questions/1145057/remapping-mouse-buttons-to-keyboard-keys
- http://who-t.blogspot.com/2019/02/adding-entries-to-udev-hwdb.html
Jonathan Cowling
(121 rep)
May 18, 2020, 02:42 PM
Showing page 1 of 20 total questions