https://github.com/coolreader18/joykbd
Userspace "driver" that translates Joy-Con inputs to mouse inputs
https://github.com/coolreader18/joykbd
evdev joycon nintendo-switch uinput
Last synced: 6 months ago
JSON representation
Userspace "driver" that translates Joy-Con inputs to mouse inputs
- Host: GitHub
- URL: https://github.com/coolreader18/joykbd
- Owner: coolreader18
- License: mit
- Created: 2022-03-05T23:55:11.000Z (almost 4 years ago)
- Default Branch: main
- Last Pushed: 2022-03-07T03:11:50.000Z (almost 4 years ago)
- Last Synced: 2025-03-20T09:48:56.814Z (10 months ago)
- Topics: evdev, joycon, nintendo-switch, uinput
- Language: Rust
- Homepage:
- Size: 10.7 KB
- Stars: 1
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# joykbd
Translates joy-con -> mouse. Specifically, (by default,) the stick acts like a
thinkpad "nub", ZL/ZR left-click, L/R right-click.
## Usage
Clone this repository and build it using cargo. Alternatively, install it with
`cargo install --git https://github.com/coolreader18/joykbd`.
Connect a Joy-Con to your computer using bluetooth. Ensure you have a driver
for Joy-Cons; I've had no issues with
[`dkms-hid-nintendo`](https://github.com/nicman23/dkms-hid-nintendo)
([aur](https://aur.archlinux.org/packages/hid-nintendo-dkms)).
```sh
joykbd /dev/input/eventNN
# by default, it looks for a device in /dev/input whose name has "Joy-Con" in it
# so, leaving the device path out should be fine in most cases
joykbd
# if the cursor tends to like going to the right more then the left, set
# --x-bias with a negative value. Vice-versa for leaning left more than right,
# and same with --y-bias for the Y axis
joykbd --x-bias -2000
# if you have bad joycon drift, set --drift-threshold. Axis readings where
# abs(value) < drift-threshold will be ignored. Note that this also makes the
# pointing device less sensitive, unfortunately.
joykbd --drift-threshold 4000
```
## License
This project is licensed under the MIT license. Please see the
[LICENSE](LICENSE) file for more details.