Skip to content

Commit

Permalink
v1.4
Browse files Browse the repository at this point in the history
  • Loading branch information
mckset authored Jan 31, 2023
1 parent 378bb76 commit e51b423
Showing 1 changed file with 17 additions and 12 deletions.
29 changes: 17 additions & 12 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,13 @@ A simple driver for the Huion KD100 mini Keydial written in C to give the device

Installation
------------
Download the latest version, unzip it, and run KD100
You can either download the latest release or run the following:
```
git clone https://github.com/mckset/KD100.git
cd KD100
make
```
> **_NOTE_** This driver depends on [xdotool](https://github.com/jordansissel/xdotool) to simulate keyboard and mouse inputs. It will not run if the tool is not installed. If you want to use a different tool, you can edit the Handler function to use that tool instead
Usage
-----
Expand All @@ -16,26 +22,25 @@ sudo ./KD100 -c config_file -d

> **_KEEP IN MIND_** Very few distros have been tested so far. If you have a problem on your distro, please report it and I will try to get to it as soon as possible
Notes
-----
- Only works on X11 based desktops
Configuring
----------
Edit or copy **default.cfg** to add your own keys/commands
> **_NOTE:_** New config files must have the same format and line count as the default file
Caveats
-------
- This only works on X11 based desktops (because of xdotool)
- You do not need to run this with sudo if you set a udev rule for the device. Create/edit a rule file in /etc/udev/rules.d/ and add the following, then save and reboot or reload your udev rules
```
SUBSYSTEM=="usb",ATTRS{idVendor}=="256c",ATTRS{idProduct}=="006d",MODE="0666",GROUP="plugdev"
```
- Sometimes the driver won't find the device and might require you to unplug it and plug it back in to fix it
- Technically speaking, this can support other devices, especially if they send the same type of byte information, otherwise the code should be easy enough to edit and add support for other usb devices
- New config files must have the same format and line count as the default file
- Technically speaking, this can support other devices, especially if they send the same type of byte information, otherwise the code should be easy enough to edit and add support for other usb devices. If you want to see the information sent by different devices, change the vid and pid in the program and run it with two debug flags


Known Issues
------------
- Setting shortcuts like "ctrl+c" will close the driver if it ran from a terminal and it active
- The driver cannot trigger keyboard shortcuts from combining multiple buttons on the device
> **_NOTE:_** Because of how the data is packaged, there currently is no work around for this
Building From Source
--------------------
Clone the repo and run compile.sh

--------------------
Special thanks to the creator of [xdotool](https://github.com/jordansissel/xdotool). Even though this project is not dependant on the tool, it utilizes some of the xdo scripts from that project

0 comments on commit e51b423

Please sign in to comment.