Coder Social home page Coder Social logo

gfxtablet's Introduction

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.

gfxtablet's People

Contributors

akdor1154 avatar kevinli avatar rfc2822 avatar romanbarczynski avatar techtonik avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.