New blog just dropped with two posts! Go check it out and let me know if you like it 🥰.

https://blog.baggins.family/

#go #golang #rust #rustlang #evdev #uinput

The Input Stack on Linux – An End-To-End Architecture Overview

https://venam.net/blog/unix/2025/11/27/input_devices_linux.html

Patrick Louis writes: ""Let’s explore and deobfuscate the input stack on #Linux. Our aim is to understand its components and what each does. Input handling can be divided into two parts, separated by a common layer:

#Kernel-level handling: It deals with what happens in the kernel and how events are exposed to user-space
[…]
Exposed layer (middle)
[…]
User-space handling:
[…]
The Widgets, #XServer, #X11 window managers, and #Wayland compositors, which rely on everything else

We’ll try to make sense of all this, one thing at a time, with a logical and coherent approach.""

#LinuxKernel #evdev

After the parser is done, my plan is to write a validator that uses data from #trbot to map the inputs to buttons and axes on virtual devices.

Before starting this, I already took a dive to refine my #rust skills by writing native virtual devices using #evdev-rs that can be plugged into TRBot at a later time: https://codeberg.org/kimimaru/UinputVirtualDevices

I have yet to implement the wrapper for vJoy, but I'll be prioritizing uinput and #gnu / #linux as that's what I use and run my Twitch Plays streams on.

UinputVirtualDevices

Virtual uinput devices intended to be used when playing games through text. Written in Rust with evdev-rs.

Codeberg.org
New humble project: EMD (Event Mapping Daemon)
https://github.com/lonequantum/emd
Have a look at it if you want a simple solution to map events (a particular key pressed, for example) to shell commands.
#programming #Linux #FreeBSD #evdev
GitHub - lonequantum/emd: Event Mapping Daemon for systems using evdev

Event Mapping Daemon for systems using evdev. Contribute to lonequantum/emd development by creating an account on GitHub.

GitHub
My mouse has forward/backward buttons. I finde these less than useless. How do I map them to something useful like control and alt? #Linux #X11 #mouse #evdev 045e:082e Microsoft Ergonomic Mouse

@uncomfyhalomacro

No wayland pre-req required. Just some #rustlang knowledge along with #linux, #evdev, #uinput is all you need :)

🌗 GitHub - rvaiya/keyd:用於 Linux 的按鍵重新映射守護程序
➤ 一個靈活的系統守護程序,使用內核級輸入原始碼(evdev、uinput)重新映射按鍵。
https://github.com/rvaiya/keyd
keyd是一個靈活的系統守護程序,使用內核級輸入原始碼(evdev、uinput)重新映射按鍵。它具有多個獨特的功能,包括圖層、按鍵重載、鍵盤特定配置、即時重新映射、客戶端-服務器模型等。此外,它還支持應用程序特定的重新映射,並且可以在多個顯示服務器上運行。
+ 這是一個非常有用的工具,特別是對於那些希望在不同鍵盤之間切換的人來說。它的配置格式很容易理解,而且它的速度非常快。
+ 我很喜歡這個守護程序的客戶端-服務器模型,這使得應用程序特定的重新映射變得非常容易。它還支持多種顯示服務器,這是一個很大的加分項。
#GitHub #Linux #按鍵重新映射 #守護程序 #內核級輸入原始碼 #evdev #uinput
GitHub - rvaiya/keyd: A key remapping daemon for linux.

A key remapping daemon for linux. Contribute to rvaiya/keyd development by creating an account on GitHub.

GitHub

#Linux #streamdeck support, in C, as it should be. Injects key presses #evdev #uinput

Static keys, icons and it is ugly and mainly just a test for now.

Maybe it will evolve, who knows. Anyway here you go: https://github.com/oniongarlic/sdeck

#WriteInC

GitHub - oniongarlic/sdeck: Linux Stream Deck keypad support, proof-of-concept in C, injecting key presses using evdev

Linux Stream Deck keypad support, proof-of-concept in C, injecting key presses using evdev - GitHub - oniongarlic/sdeck: Linux Stream Deck keypad support, proof-of-concept in C, injecting key press...

GitHub

Steam / most importantly a LINUX gamer with a Steam Controller?

The excellent SC Controller project adds Bluetooth support!

SC Controller is a Driver and user interface for working with the Steam Controller.

Version 0.4.3: Steam Controller, the Sony Dualshock 4 (PS4 gamepad) and all other Bluetooth pads recognized by evdev (a generic input event interface in the Linux kernel) are now supported.

--> https://www.gamingonlinux.com/articles/the-excellent-sc-controller-project-adds-bluetooth-support.11855
_
#Linux #OpenSource #drivers #SteamController #Steam #evdev #gaming

The excellent SC Controller project adds Bluetooth support

SC Controller, the rather great driver and user interface for working with the Steam Controller (and now many others) outside of Steam recently added Bluetooth support.