{"id":17300180,"url":"https://github.com/joseluis/huion-linux-drivers","last_synced_at":"2025-04-13T04:16:07.019Z","repository":{"id":51264871,"uuid":"125053958","full_name":"joseluis/huion-linux-drivers","owner":"joseluis","description":"Linux user-space drivers for Huion Graphic Tablets","archived":false,"fork":false,"pushed_at":"2020-09-20T15:08:50.000Z","size":170,"stargazers_count":170,"open_issues_count":45,"forks_count":95,"subscribers_count":21,"default_branch":"master","last_synced_at":"2025-04-13T04:15:46.694Z","etag":null,"topics":["drawing","linux","linux-drivers","tablet","tablets","wacom"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/joseluis.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2018-03-13T13:13:47.000Z","updated_at":"2025-02-17T08:05:46.000Z","dependencies_parsed_at":"2022-09-23T14:31:04.468Z","dependency_job_id":null,"html_url":"https://github.com/joseluis/huion-linux-drivers","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joseluis%2Fhuion-linux-drivers","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joseluis%2Fhuion-linux-drivers/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joseluis%2Fhuion-linux-drivers/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/joseluis%2Fhuion-linux-drivers/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/joseluis","download_url":"https://codeload.github.com/joseluis/huion-linux-drivers/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248661719,"owners_count":21141451,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["drawing","linux","linux-drivers","tablet","tablets","wacom"],"created_at":"2024-10-15T11:26:32.571Z","updated_at":"2025-04-13T04:16:06.997Z","avatar_url":"https://github.com/joseluis.png","language":"Python","readme":"# User Space Linux Drivers for Huion Tablets\n\n---\n\n## PSA\n\nThis project is currently not actively maintained and its future is uncertain. I started it a long time ago in order to fulfill a specific need I had at the time,  deciding to make it open and more general in case more people found it useful. But I didn't expect for it to become inmanageable as much for me.\n\nMy circumstances have changed and I no longer have the motivation to keep working on this project. For one, my tablet works better now without it that with it, in recent versions of Linux. Many bugs have arised related with the compatilibility between different Python versions and different distributions, which is very frustrating (and this has also contributed to my avoiding of Python AMAP). Plus obscure compatibility problems with many tablets which I can't test nor desire to debug. It also doesn't work with Wayland, and it doesn't support mixing multiple resolutions in multi-monitor mode... The list goes on.\n\nIf you believe you want to take care of gthe project and try to fix its multiple issues and keep maintaing it, please contact me and we can arrange some relay.\n\nThank you, and I'm sorry for the broken expectatives\n\n---\n\n\n## Table of Contents\n\n- [Features](#features-)\n- [Usage](#usage-)\n- [Requirements](#requirements-)\n  - [Dependencies](#dependencies-)\n  - [Xorg extra code](#xorg-extra-code-)\n- [Troubleshooting](#troubleshooting-)\n- [Config Examples](#config-examples-)\n  - [Multi-Monitor](#multi-monitor-)\n  - [Shortcuts](#shortcuts-)\n- [Help Welcomed](#help-welcomed-)\n\n## Features [↑](#table-of-contents \"Back to TOC\")\n\n * Supports multiple tablet models\n * Precise cursor positioning\n * Full pressure sensitivity\n * Both stylus buttons\n * Compatible with multi-monitor setups\n * Customizable buttons and scrollbar shortcuts\n * Multiple sets of shortcuts\n * Optional desktop notifications\n * Versatile configuration file\n\n\n## Usage [↑](#table-of-contents \"Back to TOC\")\n\n * Follow the requirements: Install the dependencies and the xorg extra code.\n * Download this repository (You only need `huion-tablet-driver.py` and `config.ini`).\n * Edit `config.ini` to match your tablet, multi-monitor setup and desired shortcuts.\n * Run `sudo ./huion-tablet-driver.py` (needs superuser privileges)\n\n\n## Requirements [↑](#table-of-contents \"Back to TOC\")\n\n### Dependencies [↑](#table-of-contents \"Back to TOC\")\n\n * [python](https://www.python.org/) version 3.5 or greater\n * [uclogic-tools](https://github.com/DIGImend/uclogic-tools) ([read why][2])\n\n    ```\n    # Installation from source: install dependencies, clone, compile \u0026 install\n\n    $ sudo apt install make automake gcc pkg-config libusb-1.0-0-dev  # For ubuntu\n\n    git clone https://github.com/DIGImend/uclogic-tools\n    cd uclogic-tools\n    autoreconf -i -f \u0026\u0026 ./configure --prefix=/usr/local/ \u0026\u0026 make\n    sudo make install\n    ```\n\n * [xinput](https://wiki.archlinux.org/index.php/Xinput)\n * [evdev](https://wiki.gentoo.org/wiki/Evdev)\n * [python-evdev](https://github.com/gvalkov/python-evdev)\n * [pyusb](https://walac.github.io/pyusb/)\n * [numexpr](https://github.com/pydata/numexpr)\n * [xdotool][7] (optional, for button shorcuts)\n * [notify-send][8] (optional, for desktop notifications)\n * [xrandr][9] (optional, for monitor configuration) (and [arandr][10])\n\n[2]: https://github.com/benthor/HuionKamvasGT191LinuxDriver/issues/1#issuecomment-351207116\n[7]: http://www.semicomplete.com/projects/xdotool/\n[8]: https://wiki.archlinux.org/index.php/Desktop_notifications\n[9]: https://wiki.archlinux.org/index.php/xrandr\n[10]: https://christian.amsuess.com/tools/arandr/\n\n\nInstall packages in Archlinux:\n\n```\n$  pacman -S xorg-xinput xf86-input-evdev python-evdev python-pyusb xdotool \\\nlibnotify xorg-xrandr arandr python-numexpr\n```\n\nInstall packages in Ubuntu:\n```\n$ sudo apt install xinput xserver-xorg-input-evdev python3-evdev python3-usb \\\nxdotool libnotify-bin arandr python3-numexpr\n```\n\n### Xorg Extra Code [↑](#table-of-contents \"Back to TOC\")\n\nYou will likely also need to add some code to the Xorg server.\nCreate a new file in` /etc/X11/xorg.conf.d/evdev-tablet.conf` with the following content:\n\n```\nSection \"InputClass\"\n\tIdentifier \"evdev tablet catchall\"\n\tMatchIsTablet \"on\"\n\tMatchDevicePath \"/dev/input/event*\"\n\tDriver \"evdev\"\nEndSection\n```\n\n## Troubleshooting [↑](#table-of-contents \"Back to TOC\")\n\n### My tablet doesn't provide any inputs despite all my debugging efforts\n\nMaybe you're connecting the table through a USV hub, or USB docking station? This is known to have caused problems in the past. Try plugging the tablet directly to the computer.\n\n### /usr/local/bin/uclogic-probe: not found\n\nYou eiher need to compile uclogic binaries (see [Dependencies](#dependencies-)), or they are installed in a different location. For example Debian 10 automatically installs them under `/usr/bin/`. Try updating the path in the `config.ini` file, which by default is: `uclogic_bins = /usr/local/bin`.\n\n\n## Config Examples [↑](#table-of-contents \"Back to TOC\")\n\n### Multi-Monitor [↑](#table-of-contents \"Back to TOC\")\n\nIf you have a multi-monitor setup, edit your copy of `config.ini`\nwith the correct values for your particular setup.\n\n```\n# Multi Monitor Configuration\nenable_multi_monitor  = true\nenable_xrandr         = false\ncurrent_monitor_setup = [monitor_3]\n```\n\nYou'll have to customize your current monitor setup, by modifying one of the\nexisting examples in the section 3 of the `config.ini` file.\n\n[More information about multiple monitors in the wiki](https://github.com/joseluis/huion-linux-drivers/wiki/Multi-Monitor)\n\n\n### Shortcuts [↑](#table-of-contents \"Back to TOC\")\n\nTo customize the shortcuts associated with the buttons and the scrollbar,\nedit the file `config.ini`, and use the xdotool syntax for the buttons actions.\n\nFirst, assign the menu you're going to use as the starting menu.\n\n### Example with a Single Buttons Menu\n\n```\nstart_menu = [menu_simple_10b]\n\n[menu_simple_10b]\n\n# upper buttons\nb0 = key Tab           # hide interface\nb1 = key r             # rect select (gimp) \u0026 pick layer (krita)\nb2 = key ctrl+x        # cut\nb3 = key ctrl+c        # copy\nb4 = key ctrl+v        # paste\n\n# scrollbar\nsu = click 4           # mouse wheel up\nsd = click 5           # mouse wheel down\n\n# lower buttons\nb5 = key ctrl+z        # undo\nb6 = key ctrl+y        # redo (gimp)\nb7 = key ctrl+shift+z  # redo (krita)\nb8 = key 4             # turn left (krita)\nb9 = key 6             # turn right (krita)\n```\n\n[See an example with multiple menus in the wiki](https://github.com/joseluis/huion-linux-drivers/wiki/Buttons-Shortcuts#12-example-with-multiple-menus)\n\n\n## Help Welcomed [↑](#table-of-contents \"Back to TOC\")\n\nI originally started this project for my own simple needs and my single Huion tablet.\nNow it has grown more than I imagined, and I don't have much time or energy to support all use-cases and fix all the issues.\n\nI'm very open to add additional mantainers, so tell me if you are interested.\nOr you can take a look to the open issues if you want to help with something.\n\nThank you!\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoseluis%2Fhuion-linux-drivers","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjoseluis%2Fhuion-linux-drivers","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjoseluis%2Fhuion-linux-drivers/lists"}