Sample Header Ad - 728x90

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/Linux
I 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). Image
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. enter image description here 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