Need help with GfxTablet?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

rfc2822
458 Stars 130 Forks Other 50 Commits 43 Opened issues

Description

Draw on your PC via your Android device

Services available

!
?

Need anything else?

Contributors list

This project is not maintained anymore. If you're interested in taking it over, please tell me at [email protected]

To be informed about updates:

What is GfxTablet?

GfxTablet shall make it possible to use your Android device (especially tablets) like a graphics tablet.

It consists of two components:

  • the GfxTablet Android app
  • the input driver for your PC

The GfxTablet app sends motion and touch events via UDP to a specified host on port 40118.

The input driver must be installed on your PC. It creates a virtual "network tablet" on your PC that is controlled by your Android device.

So, you can use your Android tablet or smartphone to control the PC and, for instance use GIMP with your Android tablet as a graphics tablet (even pressure-sensitive, if your hardware supports it).

Homepage: https://gfxtablet.bitfire.at

Help and discussion: https://gfxtablet.bitfire.at/forums

License

GfxTablet is licensed under The MIT License.

Author: Ricki Hirner / powered by bitfire web engineering / gimpusers.com

Features

  • Pressure sensitivity supported
  • Size of canvas will be detected and sent to the client
  • Option for ignoring events that are not triggered by a stylus pen: so you can lay your hand on the tablet and draw with the pen.

Requirements

  • App: Any device with Android 4.0+ and touch screen
  • Driver: Linux with uinput kernel module (included in modern versions of Fedora, Ubuntu etc.)

If you use Xorg (you probably do):

  • Xorg-evdev module loaded and configured – probably on by default, but if it doesn't work, you may need to activate the module.

Installation

Github repository: https://github.com/rfc2822/GfxTablet

Part 1: uinput driver

On your PC, either download one of these binaries (don't forget to

chmod a+x
it):

or compile it yourself (don't be afraid, it's only one file)

  1. Clone the repository:
    git clone git://github.com/rfc2822/GfxTablet.git
  2. Install gcc, make and linux kernel header includes (
    kernel-headers
    on Fedora)
  3. cd GfxTablet/driver-uinput; make

Then, run the binary. The driver runs in user-mode, so it doesn't need any special privileges. However, it needs access to

/dev/uinput
. If your distribution doesn't create a group for uinput access, you'll need to do it yourself or just run the driver as root:

sudo ./networktablet

Then you should see a status message saying the driver is ready. If you do

xinput list
in a separate terminal, should show a "Network Tablet" device.

You can start and stop (Ctrl+C) the Network Tablet at any time, but please be aware that applications which use the device may be confused by that and could crash.

networktablet
will display a status line for every touch/motion event it receives.

Part 2: App

You can either

  1. compile the app from the source code in the Github repository, or
  2. download it from the open-source market F-Droid, or
  3. download it from Samsung Galaxy Apps (if you have a Samsung device), or
  4. download it directly from Github, or
  5. ~~download it from Google Play~~ removed by Google

After installing, enter your host IP in the Settings / Host name and it should be ready.

Part 3: Use it

Now you can use your tablet as an input device in every Linux application (including X.org applications). For instance, when networktablet is running, GIMP should have a "Network Tablet" entry in "Edit / Input Devices". Set its mode to "Screen" and it's ready to use.

Frequently Asked Questions

Using with multiple monitors

If you're using multiple screens, you can assign the Network Tablet device to a specific screen once it's running (thanks to @symbally and @Evi1M4chine, see https://forums.bitfire.at/topic/82/multi-monitor-problem):

  1. Use
    xrandr
    to identify which monitor you would like to have the stylus picked up on. In this example,
    DVI-I-1
    is the display to assign.
  2. Do
    xinput map-to-output "$( xinput list --id-only "Network Tablet" )" DVI-I-1
    .

Known problems

Donate

If you find GfxTablet useful, please feel free to send a donation.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.