Unix & Linux Stack Exchange
Q&A for users of Linux, FreeBSD and other Unix-like operating systems
Latest Questions
1
votes
2
answers
3201
views
xorg keyboard config not working (us altgr-intl no deadkeys)
I'm trying to get my keyboard to use the us layout with variation altr-intl and no deadkeys. Somehow my xorg-keyboard-config does not take effect. I looked up the config here [arch-wiki][1] but there seems to be a mistake in my config which I was unable to find. My current (not working) config looks...
I'm trying to get my keyboard to use the us layout with variation altr-intl and no deadkeys.
Somehow my xorg-keyboard-config does not take effect. I looked up the config here arch-wiki but there seems to be a mistake in my config which I was unable to find.
My current (not working) config looks like this:
/etc/X11/xorg.conf.d/00-keyboard.conf
# Written by systemd-localed(8), read by systemd-localed and Xorg. It's
# probably wise not to edit this file manually. Use localectl(1) to
# instruct systemd-localed to update it.
Section "InputClass"
Identifier "system-keyboard"
MatchIsKeyboard "on"
Option "XkbLayout" "us"
Option "XkbModel" "pc105"
Option "XkbVariant" "altgr-intl"
Option "XkbOptions" "nodeadkeys"
EndSection
I get it to work by using the following command but as you might know this is not persistent:
setxkbmap -layout us -variant altgr-intl -option nodeadkeys
I don't want this command to end up in my xprofile file or such. I would prefere to do it in xorg as I did with my trackpad, mouse ect.
The keyboard I'm using is a keychron k2 connected by cable. Here is the output of xinput, in case the keyboard doesn't get identified correclty:
xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Synaptics TM3053-003 id=11 [slave pointer (2)]
⎜ ↳ TPPS/2 IBM TrackPoint id=12 [slave pointer (2)]
⎜ ↳ Keytron Keychron K2 id=15 [slave pointer (2)]
⎜ ↳ Logitech Wireless Mouse id=17 [slave pointer (2)]
⎜ ↳ Logitech Wireless Keyboard PID:4023 id=18 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Sleep Button id=8 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=9 [slave keyboard (3)]
↳ ThinkPad Extra Buttons id=10 [slave keyboard (3)]
↳ Keytron Keychron K2 id=13 [slave keyboard (3)]
↳ Integrated Camera: Integrated C id=14 [slave keyboard (3)]
↳ Keytron Keychron K2 id=16 [slave keyboard (3)]
↳ Logitech Wireless Keyboard PID:4023 id=19 [slave keyboard (3)]
I tried to identify the keyboard by using "MatchIsProduct" "Keytron Keychron K2" without any luck either.
I'm running manjaro i3 community edition. The keyboard settings set in the manjaro-settings are also the wanted layout so I don't think that these settings would mess up my xorg config. I'm trying this on a thinkpad T550.
With the current config I get the us keyboard without deadkeys but the altgr-intl variant is not active.
Elfie
(111 rep)
Oct 20, 2021, 06:55 PM
• Last activity: Jul 31, 2025, 10:07 AM
7
votes
1
answers
2697
views
syndaemon won't disable touchpad while typing
I am trying to use syndaemon to disable my touchpad while I type. I know that the GUI for this doesn't work for many people but all the posts I've seen online suggest that using syndaemon from the command line should work. It doesn't work for me, however. To test whether the touchpad is off while I...
I am trying to use syndaemon to disable my touchpad while I type. I know that the GUI for this doesn't work for many people but all the posts I've seen online suggest that using syndaemon from the command line should work. It doesn't work for me, however.
To test whether the touchpad is off while I type, I type with one hand while moving the mouse and clicking with the other. I've also tried turning on palm detection, which I test just by typing for a while and seeing if I get a touchpad click (I always do, pretty promptly).
Linux Mint 17.2 Rafaela (installed it yesterday)
Dell Inspiron 11 3000 series
* Output of
xinput list
:
> xinput list
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ DLL064D:00 06CB:2985 id=12 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=14 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Video Bus id=8 [slave keyboard (3)]
↳ Power Button id=9 [slave keyboard (3)]
↳ Sleep Button id=10 [slave keyboard (3)]
↳ Integrated_Webcam_HD id=11 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=13 [slave keyboard (3)]
↳ Dell WMI hotkeys id=15 [slave keyboard (3)]
What I've tried so far:
* Control Center -> Mouse -> disable touchpad while typing: no effect
* gpointing-device-settings: shows two touchpads:
* DLL0446:00 06CB:2985: enable palm detection -> no effect; when I disable this touchpad, my touchpad becomes unresponsive
* SynPS/2 Synaptics Touchpad: disabled (turning it on and modifying settings seems to have no effect)
* syndaemon: killall syndaemon; syndaemon -i 10 -K -d
: no effect (also tried with -R). ps aux | egrep syndaemon
shows that no other syndaemon processes are running. I have tried this with and without the "disable touchpad while typing" checkbox set in Mouse Preferences.
* synclient: synclient PalmDetect=1 PalmMinWidth=10 PalmMinZ=200
: no effect
I am at my wit's end. The solutions attempted above seem to work for everyone else! Why can't I get syndaemon to work for me?
Jessica Hekman
(71 rep)
Jul 19, 2015, 07:00 PM
• Last activity: Jul 5, 2025, 02:02 AM
8
votes
1
answers
2483
views
How do I get xinputrc to work for login screen?
I have the following lines in /etc/X11/xinit/xinputrc to tame my mouse sensitivity: xinput --set-prop 9 "Device Accel Constant Deceleration" 4.5 xinput --set-prop 9 "Device Accel Velocity Scaling" 1 xinput --set-prop 9 "Device Accel Adaptive Deceleration" 1.5 These work great, the mouse behaves as I...
I have the following lines in /etc/X11/xinit/xinputrc to tame my mouse sensitivity:
xinput --set-prop 9 "Device Accel Constant Deceleration" 4.5
xinput --set-prop 9 "Device Accel Velocity Scaling" 1
xinput --set-prop 9 "Device Accel Adaptive Deceleration" 1.5
These work great, the mouse behaves as I want.
However, these commands only get run after a user logs in - on the login screen the mouse has the default sensitivities and is almost unusable.
How do I get xinput commands to run that effect the login screen?
Running LinuxMint 17.1, standard display manager (mdm).
Leigh Whiting
(81 rep)
Aug 26, 2015, 11:36 PM
• Last activity: Apr 23, 2025, 09:01 AM
8
votes
4
answers
2338
views
How to avoid mouse cursor jumping while using xinput Coordinate Transformation Matrix when application releases mouse
I've got some high sensitivity mice that I need to lower the sensitivity on. The general solution to this seems to be to set the Coordinate Transformation Matrix to something acceptable. So I use the following values: xinput --set-prop 19 'Coordinate Transformation Matrix' 0.25 0 0 0 0.25 0 0 0 1 Th...
I've got some high sensitivity mice that I need to lower the sensitivity on. The general solution to this seems to be to set the Coordinate Transformation Matrix to something acceptable. So I use the following values:
xinput --set-prop 19 'Coordinate Transformation Matrix' 0.25 0 0 0 0.25 0 0 0 1
This works fine, except, that I finally realized it was causing me issues while playing minecraft. What happens, is that when I hit any key that gives me back my cursor, as soon as I move my mouse, the cursor jumps to the top left quadrant of my screen. The exact position is proportional to the scaling number I use, so .25 moves the cursor closer to the corner than .45. Moreover, if I use a value greater than 1, the cursor moves to a different quadrant of my monitor. And, of course, values of 1 leave the cursor in the center of the screen as expected. This just happens on the first mouse input, and the mouse behaves normally after that.
I need advice as to how to avoid this cursor movement. It's quite maddening. I also don't think this is strictly a minecraft issue, and I suspect it happens with other java applications that take and release the mouse cursor.
Further information, my machine is running Kubuntu 18.04 and openJDK 10.0.2.
Edit: Adding more info. I'm starting to notice this behavior in other places during my normal workflow. It's not clear when, but maybe has to do with how KDE is dealing with the mouse events and window focus. I use follow mouse - mouse precedence.
milesvp
(81 rep)
Dec 30, 2018, 12:27 AM
• Last activity: Mar 30, 2025, 03:27 AM
0
votes
0
answers
51
views
My touchpad can't work in X11/Linux (USB Wired Touchpad)
I want to use 'Perixx PERIPAD-501 II - Wired Touchpad' in my X11/Linux, but it can't work. (Cursor doesn't move and click button doesn't work) Outputs of xinput command is here: ('HAILUCK CO.,LTD USB touchpad' is the device name) >xinput list Virtual core pointer id=2 [master pointer (3)] Virtual co...
I want to use 'Perixx PERIPAD-501 II - Wired Touchpad' in my X11/Linux, but it can't work. (Cursor doesn't move and click button doesn't work) Outputs of xinput command is here:
('HAILUCK CO.,LTD USB touchpad' is the device name)
>xinput list Virtual core pointer id=2 [master pointer (3)] Virtual core XTEST pointer id=4 [slave pointer (2)] HAILUCK CO.,LTD USB touchpad id=10 [slave pointer (2)] Virtual core keyboard id=3 [master keyboard (2)] Virtual core XTEST keyboard id=5 [slave keyboard (3)] rk29-keypad id=6 [slave keyboard (3)] tc3589x-keypad id=7 [slave keyboard (3)] HAILUCK CO.,LTD USB touchpad id=8 [slave keyboard (3)]
>xinput list-props 10 Device 'HAILUCK CO.,LTD USB touchpad': Device Enabled (113): 1 Coordinate Transformation Matrix (114): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000 Device Accel Profile (410): 1 Device Accel Constant Deceleration (411): 2.000000 Device Accel Adaptive Deceleration (412): 1.000000 Device Accel Velocity Scaling (413): 12.500000 Synaptics Edges (414): 61, 1474, 55, 968 Synaptics Finger (415): 25, 30, 0 Synaptics Tap Time (416): 180 Synaptics Tap Move (417): 81 Synaptics Tap Durations (418): 180, 180, 100 Synaptics ClickPad (419): 0 Synaptics Middle Button Timeout (420): 75 Synaptics Two-Finger Pressure (421): 282 Synaptics Two-Finger Width (422): 7 Synaptics Scrolling Distance (423): 36, 36 Synaptics Edge Scrolling (424): 0, 0, 0 Synaptics Two-Finger Scrolling (425): 1, 1 Synaptics Move Speed (426): 1.000000, 2.000000, 0.075000, 0.000000 Synaptics Off (427): 0 Synaptics Locked Drags (428): 0 Synaptics Locked Drags Timeout (429): 5000 Synaptics Tap Action (430): 0, 0, 0, 0, 0, 0, 0 Synaptics Click Action (431): 1, 3, 2 Synaptics Circular Scrolling (432): 0 Synaptics Circular Scrolling Distance (433): 0.100000 Synaptics Circular Scrolling Trigger (434): 0 Synaptics Circular Pad (435): 0 Synaptics Palm Detection (436): 0 Synaptics Palm Dimensions (437): 10, 200 Synaptics Coasting Speed (438): 8.000000, 50.000000 Synaptics Pressure Motion (439): 30, 160 Synaptics Pressure Motion Factor (440): 1.000000, 1.000000 Synaptics Grab Event Device (441): 0 Synaptics Gestures (442): 1 Synaptics Capabilities (443): 1, 0, 0, 1, 1, 0, 0 Synaptics Pad Resolution (444): 17, 19 Synaptics Area (445): 0, 0, 0, 0 Synaptics Noise Cancellation (446): 9, 9 Device Product ID (237): 9610, 12 Device Node (238): "/dev/input/event3"
>sudo dmesg | grep touch [ 2.000014] usbcore: registered new interface driver ums-onetouch [ 293.711264] usb 3-1.3: Product: USB touchpad [ 293.724917] input: HAILUCK CO.,LTD USB touchpad as /devices/10180000.usb/usb3/3-1/3-1.3/3-1.3:1.0/input/input2 [ 293.726048] hid-generic 0003:258A:000C.0001: input,hidraw0: USB HID v1.10 Keyboard [HAILUCK CO.,LTD USB touchpad] on usb-10180000.usb-1.3/input0 [ 293.765922] input: HAILUCK CO.,LTD USB touchpad as /devices/10180000.usb/usb3/3-1/3-1.3/3-1.3:1.1/input/input3 [ 293.767495] hid-multitouch 0003:258A:000C.0002: input,hiddev0,hidraw1: USB HID v1.10 Mouse [HAILUCK CO.,LTD USB touchpad] on usb-10180000.usb-1.3/input1
>sudo cat /proc/bus/input/devices .... .... I: Bus=0003 Vendor=258a Product=000c Version=0110 N: Name="HAILUCK CO.,LTD USB touchpad" P: Phys=usb-10180000.usb-1.3/input0 S: Sysfs=/devices/10180000.usb/usb3/3-1/3-1.3/3-1.3:1.0/input/input2 U: Uniq= H: Handlers=sysrq kbd event2 B: PROP=0 B: EV=120013 B: KEY=10000 7 ff9f207a c14057ff febeffdf ffefffff ffffffff fffffffe B: MSC=10 B: LED=7 I: Bus=0003 Vendor=258a Product=000c Version=0110 N: Name="HAILUCK CO.,LTD USB touchpad" P: Phys=usb-10180000.usb-1.3/input1 S: Sysfs=/devices/10180000.usb/usb3/3-1/3-1.3/3-1.3:1.1/input/input3 U: Uniq= H: Handlers=mouse0 event3 cpufreq B: PROP=1 B: EV=b B: KEY=e520 0 10000 0 0 0 0 0 0 0 0 B: ABS=2608000 3
>uname -a Linux my_pc 3.10.0+ #54 SMP PREEMPT Sat Aug 13 12:39:25 UTC 2022 armv7l GNU/LinuxI tried >xinput --test 10 but no input message. Please let me know if there is anything I should do.
rev_max
(1 rep)
Mar 9, 2025, 06:53 AM
2
votes
2
answers
4714
views
How to configure the Elecom Huge trackball to scroll with the ball?
One of the cool things about trackballs is that the ball can be used for 2D scrolling upon pressing a user-defined button. I have an Elecom Huge trackball and want to configure it with `xinput` (so that I don't need to reload Xorg). I would like to use the `Forward` button and remap it so that when...
One of the cool things about trackballs is that the ball can be used for 2D scrolling upon pressing a user-defined button. I have an Elecom Huge trackball and want to configure it with
xinput
(so that I don't need to reload Xorg). I would like to use the Forward
button and remap it so that when it's pressed the ball can be used for scrolling. I'd also like for the button to serve as middle button if no scrolling occurs.
Wojciech Gac
(171 rep)
Dec 15, 2020, 11:12 PM
• Last activity: Feb 24, 2025, 09:50 AM
4
votes
2
answers
4074
views
Xinput button mapping and middle button emulation
I have a mouse with 4 physical buttons (Kensington Slimblade Trackball), let's call them A B C D, plus 3 axes: mouse X, Y, and scroll wheel. Buttons A and B work out of the box as primary (button 1) and right click (button 3). Pressing A + B together generates a middle click (button 2), which is als...
I have a mouse with 4 physical buttons (Kensington Slimblade Trackball), let's call them A B C D, plus 3 axes: mouse X, Y, and scroll wheel.
Buttons A and B work out of the box as primary (button 1) and right click (button 3). Pressing A + B together generates a middle click (button 2), which is also great.
Now I'd like to map buttons C and D for my own purposes, but **I cannot find how to map button C separately from the A+B emulation.**
With the default button map, I get this mapping:
physical buttons: A C B D
xinput button-map: 1 2 3 4 5 6 7 8 9 10 11 12
If I try to map button C to 8 and D to 9, with
xinput set-button-map
, then pressing A+B is mapped to button 8 too!
physical buttons: A C B D
xinput button-map: 1 8 3 0 0 0 0 9
^
A+B emulation becomes 8 too!
How can I map button C to an arbitrary button number, while keeping the A+B emulation as button 2?
Should I work on a lower level than Xinput? How? Should I use a different Xinput setting?
Edit: here are the evtest
codes for the 4 buttons:
A:
type 4 (EV_MSC), code 4 (MSC_SCAN), value 90001
type 1 (EV_KEY), code 272 (BTN_LEFT), value 1
B:
type 4 (EV_MSC), code 4 (MSC_SCAN), value 90002
type 1 (EV_KEY), code 273 (BTN_RIGHT), value 1
C:
type 4 (EV_MSC), code 4 (MSC_SCAN), value ff000001
type 1 (EV_KEY), code 274 (BTN_MIDDLE), value 1
D:
type 4 (EV_MSC), code 4 (MSC_SCAN), value ff000002
type 1 (EV_KEY), code 275 (BTN_SIDE), value 1
Tobia
(739 rep)
Oct 6, 2016, 05:48 PM
• Last activity: Feb 11, 2025, 07:47 PM
26
votes
5
answers
14179
views
Disabling middle click on bottom of a clickpad / touchpad
The Thinkpad T480s has a "clickpad": a touchpad where (parts of) the touchpad itself is pressable instead of having physical dedicated buttons. Running X.org 7.7, there is a horizontal stripe at the bottom of the touchpad that acts as the mouse buttons 1, 2, and 3 (i.e. left, middle and right); basi...
The Thinkpad T480s has a "clickpad": a touchpad where (parts of) the touchpad itself is pressable instead of having physical dedicated buttons.
Running X.org 7.7, there is a horizontal stripe at the bottom of the touchpad that acts as the mouse buttons 1, 2, and 3 (i.e. left, middle and right); basically it looks like this:
+-----------------+
| |
| |
| |
| |
|11111 22222 33333|
|11111 22222 33333|
+-----------------+
How do I disable button 2 and reallocate that area to between buttons 1 and 3? I.e. I would like the following layout:
+-----------------+
| |
| |
| |
| |
|11111111 33333333|
|11111111 33333333|
+-----------------+
**Note** this question is different from https://unix.stackexchange.com/q/326554/6706 since I am trying to do this in the context of XInput, not mtrack. Also, the hardware is not Synaptics.
The hardware in question is identified by XInput as
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech Touchpad id=11 [slave pointer (2)]
⎜ ↳ ETPS/2 Elantech TrackPoint id=12 [slave pointer (2)]
Cactus
(855 rep)
Apr 19, 2018, 12:42 PM
• Last activity: Feb 5, 2025, 11:44 AM
8
votes
5
answers
7303
views
How to get rid of the delay way before Lenovo touch pad reacts?
On my Lenovo T460p, I have a "delay way" before touch pad movement or scrolling is registered. **Note:** This delay way is not to be confused with inactive areas of the touchpad as configurable through synclient and used e.g. for clickpad features. This can more be compared to "dead zones" of joysti...
On my Lenovo T460p, I have a "delay way" before touch pad movement or scrolling is registered. **Note:** This delay way is not to be confused with inactive areas of the touchpad as configurable through synclient and used e.g. for clickpad features. This can more be compared to "dead zones" of joysticks, which only react after a certain amount of movement.
When I touch the pad and start moving my finger, at first, nothing happens. I have to move the finger for a few millimeters before the mouse pointer would respond. It then registers the movement completely, which means that whenever I start using the touch pad, I have a skip by tens of pixels in the pointer movement. This makes the touch pad unusable for any "precision" work, such as hitting the close button on a tab.
This also happens after I let the finger rest within a movement for a second or so. The same happens for two-finger scrolling. These are the xinput settings:
Device 'SynPS/2 Synaptics TouchPad':
Device Enabled (139): 1
Coordinate Transformation Matrix (141): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
Device Accel Profile (275): 1
Device Accel Constant Deceleration (276): 2.500000
Device Accel Adaptive Deceleration (277): 1.000000
Device Accel Velocity Scaling (278): 12.500000
Synaptics Edges (297): 1574, 5369, 1354, 4571
Synaptics Finger (298): 25, 30, 0
Synaptics Tap Time (299): 180
Synaptics Tap Move (300): 254
Synaptics Tap Durations (301): 180, 100, 100
Synaptics ClickPad (302): 0
Synaptics Middle Button Timeout (303): 75
Synaptics Two-Finger Pressure (304): 282
Synaptics Two-Finger Width (305): 7
Synaptics Scrolling Distance (306): 115, 115
Synaptics Edge Scrolling (307): 0, 0, 0
Synaptics Two-Finger Scrolling (308): 1, 1
Synaptics Move Speed (309): 1.000000, 1.750000, 0.034590, 0.000000
Synaptics Off (310): 0
Synaptics Locked Drags (311): 0
Synaptics Locked Drags Timeout (312): 5000
Synaptics Tap Action (313): 0, 0, 0, 0, 1, 3, 2
Synaptics Click Action (314): 1, 3, 2
Synaptics Circular Scrolling (315): 0
Synaptics Circular Scrolling Distance (316): 0.100000
Synaptics Circular Scrolling Trigger (317): 0
Synaptics Circular Pad (318): 0
Synaptics Palm Detection (319): 0
Synaptics Palm Dimensions (320): 10, 200
Synaptics Coasting Speed (321): 20.000000, 50.000000
Synaptics Pressure Motion (322): 30, 160
Synaptics Pressure Motion Factor (323): 1.000000, 1.000000
Synaptics Grab Event Device (324): 0
Synaptics Gestures (325): 1
Synaptics Capabilities (326): 1, 0, 0, 1, 1, 1, 1
Synaptics Pad Resolution (327): 65, 44
Synaptics Area (328): 0, 0, 0, 0
Synaptics Noise Cancellation (329): 28, 28
Device Product ID (267): 2, 7
Device Node (266): "/dev/input/event1"
Has anyone a solution for this?
I have tried to set Noise Cancellation to `
0, 0
`, but that did not help.
This is on Debian testing (stretch). Fedora 24 Workstation Live Image also shows the same issue.
2019-11-20: The problem still persists. Here is a screen capture of how the cursor behaves when I roll my finger up and down **without pause** on the touchpad (no "movement", just rolling the fingertip).
I am still on Debian testing (which is nowadays bullseye).

Jonas Schäfer
(1803 rep)
Jun 21, 2016, 11:58 AM
• Last activity: Jan 13, 2025, 07:45 PM
0
votes
0
answers
103
views
How to intercept force feedback events between an application and a gamepad?
I want to be able to intercept a FF (force feedback) event (vibration/rumble in this case) that would normally go directly to the gamepad device file, to send an event to some other device while keeping the gamepad as the final receiver of the event. This is in hopes of creating a Linux-native alter...
I want to be able to intercept a FF (force feedback) event (vibration/rumble in this case) that would normally go directly to the gamepad device file, to send an event to some other device while keeping the gamepad as the final receiver of the event. This is in hopes of creating a Linux-native alternative to a Windows-only tool called Intiface Game Haptics Router (NSFW use case, does basically what it says on the tin)
I have already tried unsuccessfully to create a python script using
python-evdev
to read the events going to the gamepad, but it so happens that UInput events don't carry the length or intensity information unless you begin uploading them to the device, and I have not been able to capture the event from the real gamepad and upload it to a virtual one with the same FF "capabilities" (I assume the application still talks directly to the gamepad, so the virtual device has nothing to receive?). This might be a lack of experience with the library, as I basically cobbled together some example scripts from the tutorial section on the documentation website
In a prior attempt at doing a similar thing to this, I stumbled upon xboxdrv
, a userspace driver for Xbox gamepads. It apparently has some support to send FF events to a certain device due to some edge cases . Sadly this is not useful because this option has limited use as to what you can point it to, not allowing device files.
I have seen that I could use the kernel module usbmon
and wireshark to intercept the USB communication, however I consider this a bit clunky to setup (both programmatically and manually, I would like ease of use to be considered, as I have heard even some Steam Deck users trying to use the Windows tool). I also have concerns about performance and latency, as some games can put heavy stress into a system and if the two devices are too far out of sync it can be disorienting.
For some context, I am a bit of a Linux amateur, I have been running mainly Arch Linux and derivatives for some years, mainly with KDE Plasma. As for the code mentioned earlier, I could share the snippet of code I have been trying to make work, but as I said it is cobbled together from examples so there isn't anything revolutionary in there.
I know this is a weirdly niche thing to try to do and a hard thing to accomplish, so a huge thanks in advance if you can at least enlighten me in my way. And sorry if this is not the correct forum, I am sort of new to Stack Exchange and had some trouble deciding to which one my question fit best.
Sasha
(1 rep)
Oct 24, 2024, 09:07 PM
11
votes
3
answers
13911
views
Configuring Kensington Slimblade in Linux
EDIT: recently I bought another trackball (ProtoArc EM03) and had to do this configuration again. So I thought in writing a detailed guide on how to configure any pointing device in Ubuntu based distros that organized the information in this question better. So I did I and as this post is viewed a l...
EDIT: recently I bought another trackball (ProtoArc EM03) and had to do this configuration again. So I thought in writing a detailed guide on how to configure any pointing device in Ubuntu based distros that organized the information in this question better. So I did I and as this post is viewed a lot by people trying to configure their pointing devices I thought in sharing it here. You can access it in this link: https://www.reddit.com/r/Trackballs/comments/1fp7upa/how_to_configure_any_pointing_device_on_ubuntu/
---Original question below---
I just got a Kensigton Slimblade Trackball and I'm trying to configure it. I'm adapting it from my old Logitech Marble configuration.
I want the configuration to be:
- Left-Bottom: Left click
- Left-Top: Backward
- Right-Top: Right click and ball scroll lock
- Right-Bottom: Middle click
The configuration I could set until now is:
- Left-Bottom: Left click
- Left-Top: Middle click
- Right-Top: Right click and ball scroll lock
- Right-Bottom: Backward
This is my configuration script:
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Middle Button Emulation" 8 1
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 2 8 4 5 6 7
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation" 8 1
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Button" 8 8
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Axes" 8 6 7 4 5
xinput set-int-prop "Kensington Kensington Slimblade Trackball" "Evdev Wheel Emulation Timeout" 16 300
Before running this script,
xev
reports button numbers as:
Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 3
After running this script:
Left-Bottom: 1, Left-Top: 2, Right-Top: 8, Right-Botom: 8
So AFAIK, xinput set-button-map
changes button order. In this page, I learned that the 2nd value corresponds to the middle mouse button, and the 8th to the Thumb1 (normally related to backward function). So I thought I should just use number 3 as the 2nd element and 2 as the 8th element like this:
xinput set-button-map "Kensington Kensington Slimblade Trackball" 1 3 8 4 5 6 7 2
but now the top-left button has right-click function and left-bottom is disabled. xev
now reports
Left-Bottom: 1, Left-Top: 3, Right-Top: 2, Right-Botom: 8.
Anyone knows how I set the configuration as I intend ? I'm using Ubuntu 16.04. Thanks.
Nelson Teixeira
(470 rep)
Jul 2, 2018, 06:00 PM
• Last activity: Sep 25, 2024, 04:12 PM
3
votes
2
answers
2861
views
Can't Move Mouse When Key Pressed
I'm running up-to-date arch on an Asus G15 (2021) and I'm using `i3` as my WM. I can't for the life of me, work out why the trackpad doesn't seem to work when I have a key pressed down. Where would I even start with this one?
I'm running up-to-date arch on an Asus G15 (2021) and I'm using
i3
as my WM.
I can't for the life of me, work out why the trackpad doesn't seem to work when I have a key pressed down.
Where would I even start with this one?
ScottishTapWater
(187 rep)
Apr 1, 2022, 08:49 PM
• Last activity: Sep 8, 2024, 03:46 AM
0
votes
0
answers
125
views
How to make a custom input device/driver appear as pointer/mouse in X11?
I created a custom input driver, that appears as `/dev/input/event13` when I run `sudo insmod my_mouse.ko`. I gave it `EV_REL` and `REL_X`,`REL_Y`,and `REL_Z` capabilities, which is all I need for the sake testing, and `evtest` shows it is properly generating those events. `ls -ahl /dev/input` produ...
I created a custom input driver, that appears as
/dev/input/event13
when I run sudo insmod my_mouse.ko
. I gave it EV_REL
and REL_X
,REL_Y
,and REL_Z
capabilities, which is all I need for the sake testing, and evtest
shows it is properly generating those events.
ls -ahl /dev/input
produces the following output:
drwxr-xr-x 4 root root 440 Aug 3 17:21 .
drwxr-xr-x 20 root root 4,6K Aug 3 17:15 ..
drwxr-xr-x 2 root root 180 Aug 3 17:15 by-id
drwxr-xr-x 2 root root 320 Aug 3 17:15 by-path
crw-rw---- 1 root input 13, 64 Aug 3 17:00 event0
crw-rw---- 1 root input 13, 65 Aug 3 17:00 event1
crw-rw---- 1 root input 13, 74 Aug 3 17:00 event10
crw-rw---- 1 root input 13, 75 Aug 3 17:00 event11
crw-rw---- 1 root input 13, 76 Aug 3 17:00 event12
crw-rw---- 1 root input 13, 77 Aug 3 17:21 event13
crw-rw---- 1 root input 13, 66 Aug 3 17:00 event2
crw-rw---- 1 root input 13, 67 Aug 3 17:15 event3
crw-rw---- 1 root input 13, 68 Aug 3 17:00 event4
crw-rw---- 1 root input 13, 69 Aug 3 17:15 event5
crw-rw---- 1 root input 13, 70 Aug 3 17:00 event6
crw-rw---- 1 root input 13, 71 Aug 3 17:00 event7
crw-rw---- 1 root input 13, 72 Aug 3 17:00 event8
crw-rw---- 1 root input 13, 73 Aug 3 17:00 event9
crw-rw---- 1 root input 13, 63 Aug 3 17:00 mice
crw-rw---- 1 root input 13, 32 Aug 3 17:15 mouse0
crw-rw---- 1 root input 13, 33 Aug 3 17:00 mouse1
crw-rw---- 1 root input 13, 34 Aug 3 17:15 mouse2
the device also appears under /sys/devices/virtual/input
as input26
:
drwxr-xr-x 4 root root 0 Aug 3 17:00 .
drwxr-xr-x 24 root root 0 Aug 3 17:00 ..
drwxr-xr-x 6 root root 0 Aug 3 17:21 input26
drwxr-xr-x 3 root root 0 Aug 3 17:00 mice
But when I type xinput
, all I see is:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Optical Mouse id=12 [slave pointer (2)]
⎜ ↳ WingCoolTouch WingCoolTouch id=13 [slave pointer (2)]
⎜ ↳ WingCoolTouch WingCoolTouch id=14 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Chicony USB Keyboard id=9 [slave keyboard (3)]
↳ Chicony USB Keyboard System Control id=10 [slave keyboard (3)]
↳ Chicony USB Keyboard Consumer Control id=11 [slave keyboard (3)]
My input device doesn't appear in the list. What am I missing? I tried using python-evdev
following the example from python-evdev#injecting-input , then I see the following:
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Logitech USB Optical Mouse id=12 [slave pointer (2)]
⎜ ↳ WingCoolTouch WingCoolTouch id=13 [slave pointer (2)]
⎜ ↳ WingCoolTouch WingCoolTouch id=14 [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)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Chicony USB Keyboard id=9 [slave keyboard (3)]
↳ Chicony USB Keyboard System Control id=10 [slave keyboard (3)]
↳ Chicony USB Keyboard Consumer Control id=11 [slave keyboard (3)]
↳ example-device id=15 [slave keyboard (3)]
i.e., the device example-device
appears. The problem is that it only appears if I comment out all the python code for absolute axes, and replace that with code for relative ones, as follows:
#! /bin/python
from evdev import UInput, AbsInfo, ecodes as e
from elevate import elevate
from time import sleep
elevate()
cap = {
e.EV_KEY : [e.KEY_A, e.KEY_B, e.BTN_0],
# e.EV_ABS : [(e.ABS_X, AbsInfo(value=0, min=0, max=255, fuzz=0, flat=0, resolution=0)), (e.ABS_Y, AbsInfo(0, 0, 255, 0, 0, 0)), (e.ABS_MT_POSITION_X, (0, 128, 255, 0)) ],
e.EV_REL : [ e.REL_X, e.REL_Y, e.REL_Z] }
ui = UInput(cap, name='example-device', version=0x3)
print(ui)
print(ui.capabilities())
{0: [0, 1, 3],
1: [30, 48],
3: [(0, AbsInfo(value=0, min=0, max=0, fuzz=255, flat=0, resolution=0)),
(1, AbsInfo(value=0, min=0, max=0, fuzz=255, flat=0, resolution=0)),
(53, AbsInfo(value=0, min=0, max=255, fuzz=128, flat=0, resolution=0))]}
# move mouse cursor
ui.write(e.EV_ABS, e.ABS_X, 20)
ui.write(e.EV_ABS, e.ABS_Y, 20)
ui.syn()
sleep(100000)
note elevate
is needed to run the script normally in vscode
without running as root. the sleep
statement so the installed driver doesn't get immediately uninstalled again when running from vscode
.
The problem with the above result, is that example-device
is appearing as a keyboard, not as a pointer/mouse. How do I get it to appear as a pointer/mouse? And why does using evdev
make the device appear to xinput
, while my own driver doesn't? My code is as follows (in C):
#include
#include
#include
#include
int value;
struct device* dev;
struct input_dev* in_dev;
static int __init my_init(void) {
pr_info("My Mouse: Driver installation started\n");
in_dev = input_allocate_device();
if (!in_dev) {
pr_err(My Mouse: in_dev=input_allocate_device() failed\n");
return -1;
}
in_dev->name="my-mouse";
in_dev->phys="my-mouse";
set_bit(EV_REL, in_dev->evbit);
set_bit(REL_X, in_dev->relbit);
set_bit(REL_Y, in_dev->relbit);
set_bit(REL_Z, in_dev->relbit);
set_bit(REL_RX, in_dev->relbit);
set_bit(REL_RY, in_dev->relbit);
set_bit(REL_RZ, in_dev->relbit);
int error=input_register_device(in_dev);
if (error) {
pr_err("My Mouse: input_register_device(in_dev) failed\n");
return error;
}
pr_info("My Mouse: Driver installation complete\n");
return 0;
}
static void __exit my_exit(void) {
pr_info("My Mouse: Driver removal started\n");
input_unregister_device(in_dev);
input_free_device(in_dev);
pr_info("My Mouse: Driver removal complete\n");
}
module_init(my_init);
module_exit(my_exit);
MODULE_LICENSE("GPL");
MODULE_AUTHOR("mo FEAR");
MODULE_DESCRIPTION("My Mouse Test");
please avoid asking why I want to do this, just let me know what I'm missing, if you know. I tried creating /etc/X11/xorg.conf.d/00-keyboard.conf
to specify my driver name, but the file keeps getting overwritten by X11.
Update:
I realize, when I look under /sys/devices/virtual/input/input32/capabilities
, which is evdev
, and type cat *
, I get the following output:
abs: 0
ev: 200007
ff: 0
key: 1 0 0 0 1000040000000
led: 0
msc: 0
rel: 7
snd: 0
sw: 0
but when I go into my own device, and do the same, I get:
abs: 0
ev: 7
ff: 0
key: 1 0 0 0 0
led: 0
msc: 0
rel: 3
snd: 0
sw: 0
There is clearly a difference at the second entry, ie ev
, and the 4th, ie key
. Could this be the culprit? It seems I'm only getting individual bits set. How do I set multiple bits? It seems calling set_bit(...)
sequentially isn't working.
Update:
I managed to make the values equivalent. But still it doesn't appear. I even made the phys and product fields identical, still nothing.
mo FEAR
(157 rep)
Aug 3, 2024, 03:56 PM
• Last activity: Aug 5, 2024, 04:35 PM
0
votes
2
answers
173
views
Systemd-user-service to enable keyboard gives no error but doesn't work
I have a bad laptop keyboard and a much better Lily58, so I wrote a bash-script to be able to disable my laptop keyboard so I can place the Lily58 on it and re-enable it after. But when I disable the laptop keyboard, it stays disabled if I put the laptop in suspension while I would prefer it to be a...
I have a bad laptop keyboard and a much better Lily58, so I wrote a bash-script to be able to disable my laptop keyboard so I can place the Lily58 on it and re-enable it after. But when I disable the laptop keyboard, it stays disabled if I put the laptop in suspension while I would prefer it to be automatically re-enabled on resume. So I wrote a short bash script
#!/bin/bash
fconfig="/home/alex/.keyboard"
id=$(xinput | grep AT | sed -n '2,2p' | awk '{print $7}' | sed 's/[^0-9]*//g')
if [ -f $fconfig ]; then
read -r var $fconfig
fi
fi
This checks whether "disabled" is in the file /home/alex/.keyboard
that tracks whether the keyboard is enabled, and if so runs xinput
to re-enable using the id it got by sifting through the output of xinput
in the manner used in the definition of id
, then set /home/alex/.keyboard
to enabled
. This works as it should when I trigger the bash-script from the terminal, but when I start the systemd-service
[Unit]
Description=This service enables your keyboard after suspension
PartOf=graphical-session.target
[Service]
Type=oneshot
ExecStart=/home/alex/bash/enable-keyboard
[Install]
WantedBy=multi-user.target
that I want to run after suspend, it sets /home/alex/.keyboard
to enabled
but does not actually re-enable my keyboard. Moreover, journalctl -xeu enable-keyboard.service
indicates no error:
Jul 17 22:16:25 gentoolaptop systemd: Starting This service enables your keyboard after suspension.
░░ Subject: A start job for unit UNIT has begun execution
░░ Defined-By: systemd
░░ Support: https://gentoo.org/support/
░░
░░ A start job for unit UNIT has begun execution.
░░
░░ The job identifier is 8969.
Jul 17 22:16:25 gentoolaptop systemd: Finished This service enables your keyboard after suspension.
░░ Subject: A start job for unit UNIT has finished successfully
░░ Defined-By: systemd
░░ Support: https://gentoo.org/support/
░░
░░ A start job for unit UNIT has finished successfully.
░░
░░ The job identifier is 8969.
What is going wrong?
Edit: If I put a clause into the script to print the output of xinput
into a file, the output consists of one empty line.
Edit: the output of systemctl --user status dbus.socket dbus.service
is
● dbus.socket - D-Bus User Message Bus Socket
Loaded: loaded (/usr/lib/systemd/user/dbus.socket; static)
Active: active (running) since Thu 2024-07-18 17:22:54 CEST; 5 days ago
Triggers: ● dbus.service
Listen: /run/user/1000/bus (Stream)
Tasks: 0 (limit: 47295)
Memory: 4.0K (peak: 1.5M)
CPU: 8ms
CGroup: /user.slice/user-1000.slice/user@1000.service/app.slice/dbus.socket
Jul 18 17:22:54 gentoolaptop systemd: Starting D-Bus User Message Bus Socket...
Jul 18 17:22:54 gentoolaptop systemd: Listening on D-Bus User Message Bus Socket.
● dbus.service - D-Bus User Message Bus
Loaded: loaded (/usr/lib/systemd/user/dbus.service; static)
Active: active (running) since Thu 2024-07-18 17:22:54 CEST; 5 days ago
TriggeredBy: ● dbus.socket
Docs: man:dbus-daemon(1)
Main PID: 897 (dbus-daemon)
Tasks: 1 (limit: 47295)
Memory: 1.0M (peak: 1.7M)
CPU: 252ms
CGroup: /user.slice/user-1000.slice/user@1000.service/session.slice/dbus.service
└─897 /usr/bin/dbus-daemon --session --address=systemd: --nofork --nopidfile --systemd-activation --syslog-only
Jul 23 16:55:45 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Activating via systemd: service name='org.freedesktop.Notifications' unit='dunst.service' requested by ':1.149' (uid=1000 pid=105378 comm="/bin/dunstify Battery <80 Battery under 80%.")
Jul 23 17:11:00 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Failed to activate service 'org.freedesktop.Notifications': timed out (service_start_timeout=120000ms)
Jul 23 17:19:31 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Activating via systemd: service name='org.freedesktop.Notifications' unit='dunst.service' requested by ':1.152' (uid=1000 pid=106706 comm="/bin/dunstify Battery <80 Battery under 80%.")
Jul 23 17:21:31 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Failed to activate service 'org.freedesktop.Notifications': timed out (service_start_timeout=120000ms)
Jul 23 17:30:31 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Activating via systemd: service name='org.freedesktop.Notifications' unit='dunst.service' requested by ':1.153' (uid=1000 pid=108520 comm="/bin/dunstify Battery <80 Battery under 80%.")
Jul 23 17:32:31 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Failed to activate service 'org.freedesktop.Notifications': timed out (service_start_timeout=120000ms)
Jul 24 14:15:05 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Activating via systemd: service name='org.freedesktop.Notifications' unit='dunst.service' requested by ':1.164' (uid=1000 pid=126615 comm="/bin/dunstify Battery <80 Battery under 80%.")
Jul 24 14:17:05 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Failed to activate service 'org.freedesktop.Notifications': timed out (service_start_timeout=120000ms)
Jul 24 14:26:05 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Activating via systemd: service name='org.freedesktop.Notifications' unit='dunst.service' requested by ':1.165' (uid=1000 pid=127823 comm="/bin/dunstify Battery <80 Battery under 80%.")
Jul 24 14:28:05 gentoolaptop dbus-daemon: [session uid=1000 pid=897 pidfd=5] Failed to activate service 'org.freedesktop.Notifications': timed out (service_start_timeout=120000ms)
The output of ls -l /run/user/*/bus
is
srw-rw-rw- 1 alex alex 0 2024-07-18 17:22 /run/user/1000/bus
.
Alexander Praehauser
(221 rep)
Jul 17, 2024, 08:30 PM
• Last activity: Jul 24, 2024, 04:26 PM
0
votes
1
answers
453
views
How to Invert X-Axis for Touchscreen Calibration on Linux (Ubuntu)
I'm encountering an issue with touchscreen calibration on a kiosk system I'm building. The setup consists of Linux Ubuntu with a JavaFX front end and a Python Flask back end. The problem is that touches on the left side of the screen are registered on the right side and vice versa, effectively creat...
I'm encountering an issue with touchscreen calibration on a kiosk system I'm building. The setup consists of Linux Ubuntu with a JavaFX front end and a Python Flask back end. The problem is that touches on the left side of the screen are registered on the right side and vice versa, effectively creating a mirrored X-axis.
I've attempted various configurations using xinput and xinput_calibrator, but I haven't been able to resolve the issue. Here is a summary of what I've tried so far:
Adjusting the transformation matrix using xinput set-prop commands.
Using xinput_calibrator to recalibrate, but the calibration doesn't seem to stick.
Here's a sample of the xinput command I've been working with:
xinput set-prop "Device Name" "Coordinate Transformation Matrix" 1 0 0 0 1 0 0 0 1
Despite these efforts, the touch input remains inverted along the X-axis.
Could anyone provide guidance on how to correctly invert the X-axis for the touchscreen? Any insights or alternative approaches would be greatly appreciated. Thank you!

GetTheLoot
(3 rep)
Jun 17, 2024, 07:56 AM
• Last activity: Jun 17, 2024, 10:21 AM
3
votes
2
answers
1767
views
Two mice pointers (xinput stuff) issue (logs me off)
I'm trying to use two mice (mouse pointers) on my laptop (Linux Mint 16) so I've been following some tutorials that I found: the idea is to work with the xinput command. I have two mice (Touchpad and a wireless one). So I create a new master xinput --create-master secondmice it seems to work since a...
I'm trying to use two mice (mouse pointers) on my laptop (Linux Mint 16) so I've been following some tutorials that I found: the idea is to work with the xinput command. I have two mice (Touchpad and a wireless one).
So I create a new master
xinput --create-master secondmice
it seems to work since a new pointer appears on the screen (I can't move it though).
Then I "bind" it to a mouse (the wireless one):
xinput reattach ID_WIRELESS ID_SECONDMICE
it looks ok for no error occurs.
Once it's done I start moving the mice (wireless) to test. But it immediately crashes and logs me off. When I log back in, everything's alright, but I still have only my one unique pointer. Why does it crashes?
I checked log files and I couldn't find anything "weird" or that might helped me (
/var/log/Xorg.0.log
, /var/log/messages
, ~/.xsessions-errors
...)
EDIT: When it crashes a black-screen shows up (tty), right before I got on the "Log-in page", here's what we can read:
Linux Mint 16 Petra MyComputerName tty1
MyComputerName: [ 24.263867] brcmsmac bcms0:0: brcmsmac: brcms_ops_bss_info_changed: associated
[ 24.264035] brcmsmac brcms0:0: brcms_ops_bss_info_changed: qos enabled: true (implement)
"MyComputerName" is computer name.
I've searched those terms with Google but it's more related to Wifi than xinput.
Salah
(131 rep)
Apr 30, 2014, 02:32 PM
• Last activity: Jun 13, 2024, 02:14 PM
1
votes
1
answers
33
views
How remove/debug Stylus Asus pen which sends events every time laptop starts since is disabled
Week ago stylus have been added somehow between devices (I do not have own stylus for few months) and spam me with events every time laptop starts: ``` $ sudo libinput debug-events | grep event5 -event5 DEVICE_ADDED ELAN9009:00 04F3:2E36 seat0 default group5 cap:t size 300x184mm ntouches 10 calib -e...
Week ago stylus have been added somehow between devices (I do not have own stylus for few months) and spam me with events every time laptop starts:
$ sudo libinput debug-events | grep event5
-event5 DEVICE_ADDED ELAN9009:00 04F3:2E36 seat0 default group5 cap:t size 300x184mm ntouches 10 calib
-event5 TOUCH_DOWN +69.894s 0 (0) 85.20/92.85 (255.67/170.92mm)
event5 TOUCH_FRAME +69.894s
-event5 TOUCH_UP +69.909s 0 (0)
event5 TOUCH_FRAME +69.909s
-event5 TOUCH_DOWN +96.373s 0 (0) 85.23/92.89 (255.75/171.00mm)
event5 TOUCH_FRAME +96.373s
event5 TOUCH_UP +96.387s 0 (0)
event5 TOUCH_FRAME +96.387s
-event5 TOUCH_DOWN +115.360s 0 (0) 85.20/93.12 (255.67/171.42mm)
event5 TOUCH_FRAME +115.360s
-event5 TOUCH_UP +115.374s 0 (0)
event5 TOUCH_FRAME +115.374s
-event5 TOUCH_DOWN +129.771s 0 (0) 85.23/92.98 (255.75/171.17mm)
event5 TOUCH_FRAME +129.771s
event5 TOUCH_UP +129.786s 0 (0)
event5 TOUCH_FRAME +129.786s
-event5 TOUCH_DOWN +138.171s 0 (0) 85.23/92.76 (255.75/170.75mm)
So every laptop restart is device added.
Quick solution was every laptop start call:
$ xinput disable "ELAN9009:00 04F3:2E36
$ xinput disable "ELAN9009:00 04F3:2E36 Stylus
$ xinput # when are devices disabled
...
∼ ELAN9009:00 04F3:2E36 id=9 [floating slave]
∼ ELAN9009:00 04F3:2E36 Stylus id=10 [floating slave]
...
$ cat /proc/bus/input/devices
I: Bus=0018 Vendor=04f3 Product=2e36 Version=0100
N: Name="ELAN9009:00 04F3:2E36"
P: Phys=i2c-ELAN9009:00
S: Sysfs=/devices/pci0000:00/0000:00:15.0/i2c_designware.0/i2c-0/i2c-ELAN9009:00/0018:04F3:2E36.0001/input/input19
U: Uniq=
H: Handlers=mouse0 event5
B: PROP=2
B: EV=1b
B: KEY=400 0 0 0 0 0
B: ABS=3273800000000003
B: MSC=20
And now I try figure out what happened and how permanently remove this unreal device. Any idea?
ldrahnik
(11 rep)
Mar 27, 2024, 08:49 AM
• Last activity: Mar 27, 2024, 02:27 PM
0
votes
1
answers
172
views
VNC screensaver & locker: missing XInput extensions
I use a vnc (`tightvncserver`) connection: `Devuan/aarch64` and `Armbian(Debian)/armfh` (hosts) thru Win10/TigerVNC (client). Since the upgrade of the underlying base to Debian Bookworm, `xscreensaver` and any other locker fail to run for the same reason: ``` xscreensaver --no-splash xscreensaver: 1...
I use a vnc (
tightvncserver
) connection: Devuan/aarch64
and Armbian(Debian)/armfh
(hosts) thru Win10/TigerVNC (client).
Since the upgrade of the underlying base to Debian Bookworm, xscreensaver
and any other locker fail to run for the same reason:
xscreensaver --no-splash
xscreensaver: 12:09:54: XInput extension missing
xtrlock -f
xtrlock (version 2.15): No X Input extension
I reached out the **Xscreensaver** developer, and he told me the Debian package brings with it all the necessary dependencies, and he doesn't know where the problem is.
I also installed a bunch of additional packages but nothing has changed:
libx11-xcb1/stable-security,now 2:1.8.4-2+deb12u2 arm64 [installed,automatic]
libxcb-damage0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-dri2-0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-dri3-0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-glx0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-icccm4/stable,now 0.4.1-1.1 arm64 [installed,automatic]
libxcb-image0/stable,now 0.4.0-2 arm64 [installed,automatic]
libxcb-keysyms1/stable,now 0.4.0-1+b2 arm64 [installed,automatic]
libxcb-present0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-randr0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-render-util0/stable,now 0.3.9-1+b1 arm64 [installed,automatic]
libxcb-render0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-screensaver0/stable,now 1.15-1 arm64 [installed]
libxcb-shape0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-shm0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-sync1/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-util1/stable,now 0.4.0-1+b1 arm64 [installed,automatic]
libxcb-xfixes0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-xinerama0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-xinput0/stable,now 1.15-1 arm64 [installed,automatic]
libxcb-xkb1/stable,now 1.15-1 arm64 [installed,automatic]
libxcb1-dev/stable,now 1.15-1 arm64 [installed,automatic]
libxcb1/stable,now 1.15-1 arm64 [installed,automatic]
On Bullseye
, xscreensaver
and other lockers were working just fine, I can't figure out how to fix this, thanks!
freezr
(11 rep)
Dec 1, 2023, 05:32 PM
• Last activity: Dec 6, 2023, 06:24 PM
0
votes
0
answers
1107
views
trying to disable touch screen via xinput against an Xwayland server
I'm trying to disable my touch screen via xinput, here's my output for the cmd: WARNING: running xinput against an Xwayland server. See the xinput man page for details. ⎡ Virtual core pointer id=2 [master pointer (3)] ⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)] ⎜ ↳ xwayland-pointer:16 id...
I'm trying to disable my touch screen via xinput, here's my output for the cmd:
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ xwayland-pointer:16 id=6 [slave pointer (2)]
⎜ ↳ xwayland-relative-pointer:16 id=7 [slave pointer (2)]
⎜ ↳ xwayland-pointer-gestures:16 id=8 [slave pointer (2)]
⎜ ↳ xwayland-tablet stylus:16 id=11 [slave pointer (2)]
⎜ ↳ xwayland-tablet eraser:16 id=12 [slave pointer (2)]
⎜ ↳ xwayland-tablet cursor:16 id=13 [slave pointer (2)]
⎜ ↳ xwayland-touch:16 id=10 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ xwayland-keyboard:16 id=9 [slave keyboard (3)]
I've tried running:
xinput disable [id]
for the ids 2,4 and 6
but I get the following error:
WARNING: running xinput against an Xwayland server. See the xinput man page for details.
X Error of failed request: BadAccess (attempt to access private resource denied)
Major opcode of failed request: 131 (XInputExtension)
Minor opcode of failed request: 57 ()
Serial number of failed request: 21
Current serial number in output stream: 22
any ideas?
I'm running Ubuntu version 22.04.3 LTS
Mathew
(243 rep)
Nov 25, 2023, 04:19 AM
• Last activity: Dec 5, 2023, 02:20 AM
0
votes
1
answers
644
views
How to program a Koolertron macropad?
I bought [this macropad](https://www.amazon.com/Koolertron-Single-Handed-Programmable-Mechanical-Keyboard/dp/B076LRJ528/ref=asc_df_B076LRJ528/?tag=hyprod-20&linkCode=df0&hvadid=312181276443&hvpos=&hvnetw=g&hvrand=4333784923832821142&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9003619...
I bought [this macropad](https://www.amazon.com/Koolertron-Single-Handed-Programmable-Mechanical-Keyboard/dp/B076LRJ528/ref=asc_df_B076LRJ528/?tag=hyprod-20&linkCode=df0&hvadid=312181276443&hvpos=&hvnetw=g&hvrand=4333784923832821142&hvpone=&hvptwo=&hvqmt=&hvdev=c&hvdvcmdl=&hvlocint=&hvlocphy=9003619&hvtargid=pla-571192155057&psc=1) awhile ago but I haven't been able to figure out how to program it. Right now it types keys like a normal keyboard but I want to beable to run commands when I press the buttons. What would be the best way to make that happen?
Edit: forgot to mention that I'm using Manjaro
Dan
(111 rep)
Feb 28, 2023, 05:04 PM
• Last activity: Oct 14, 2023, 02:47 AM
Showing page 1 of 20 total questions