All Projects → linuxwacom → Libwacom

linuxwacom / Libwacom

Licence: other
libwacom is a tablet description library

Programming Languages

c
50402 projects - #5 most used programming language

Projects that are alternatives of or similar to Libwacom

Cayenne
Mirror of Apache Cayenne
Stars: ✭ 250 (+47.93%)
Mutual labels:  database, library
Jackrabbit Oak
Mirror of Apache Jackrabbit Oak
Stars: ✭ 321 (+89.94%)
Mutual labels:  database, library
Jackrabbit
Mirror of Apache Jackrabbit
Stars: ✭ 273 (+61.54%)
Mutual labels:  database, library
Immortaldb
🔩 A relentless key-value store for the browser.
Stars: ✭ 2,962 (+1652.66%)
Mutual labels:  database, library
Scalable Image Matching
This is a image matching system for scalable and efficient matching of images from a large database. The basic idea is to compute perceptural hash value for each image and compare the similarity based on the pHash computed. Searching are scalable with the elasticsearch as the backend database.
Stars: ✭ 17 (-89.94%)
Mutual labels:  database, library
Sparrow
A simple database toolkit for PHP
Stars: ✭ 236 (+39.64%)
Mutual labels:  database, library
Gokv
Simple key-value store abstraction and implementations for Go (Redis, Consul, etcd, bbolt, BadgerDB, LevelDB, Memcached, DynamoDB, S3, PostgreSQL, MongoDB, CockroachDB and many more)
Stars: ✭ 314 (+85.8%)
Mutual labels:  database, library
Autoserver
Create a full-featured REST/GraphQL API from a configuration file
Stars: ✭ 188 (+11.24%)
Mutual labels:  database, library
Realm Core
Core database component for the Realm Mobile Database SDKs
Stars: ✭ 836 (+394.67%)
Mutual labels:  database, library
Rein
Database constraints made easy for ActiveRecord.
Stars: ✭ 657 (+288.76%)
Mutual labels:  database, library
Orc
Apache ORC - the smallest, fastest columnar storage for Hadoop workloads
Stars: ✭ 389 (+130.18%)
Mutual labels:  database, library
Badger
Fast key-value DB in Go.
Stars: ✭ 10,127 (+5892.31%)
Mutual labels:  database, library
Cog
A Persistent Embedded Graph Database for Python
Stars: ✭ 90 (-46.75%)
Mutual labels:  database, library
Metamodel
Mirror of Apache Metamodel
Stars: ✭ 143 (-15.38%)
Mutual labels:  database, library
Postgres
Postgres.js - The Fastest full featured PostgreSQL client for Node.js
Stars: ✭ 2,193 (+1197.63%)
Mutual labels:  database
Showroom
Stars: ✭ 168 (-0.59%)
Mutual labels:  library
Darkart
A binary interface let Chez Scheme use Python, Lua, Ruby etc's library
Stars: ✭ 168 (-0.59%)
Mutual labels:  library
Reference Huffman Coding
Clear implementation of Huffman coding for educational purposes in Java, Python, C++.
Stars: ✭ 167 (-1.18%)
Mutual labels:  library
Ng Aquila
Angular UI Component library for the Open Insurance Platform
Stars: ✭ 170 (+0.59%)
Mutual labels:  library
Mirrordiffkit
Graduation from messy XCTAssertEqual messages.
Stars: ✭ 168 (-0.59%)
Mutual labels:  library

Overview

libwacom is a library to identify Wacom tablets and their model-specific features. It provides easy access to information such as "is this a built-in on-screen tablet", "what is the size of this model", etc.

This functionality is currently used by e.g. GNOME to map built-in tablets to the correct screen.

Adding tablet descriptions to libwacom

A common indicator that a device is not supported by libwacom is that it works normally in a GNOME session, but the device is not correctly mapped to the screen.

Use the libwacom-list-local-devices tool to list all local devices recognized by libwacom. If your device is not listed, but it is available as an event device in the kernel (see /proc/bus/input/devices) and in the X session (see xinput list), the device is missing from libwacom's database.

To add support for a new tablet to libwacom git:

  1. Create a new tablet definition file. See data/wacom.example in the source for a guideline on how to add a new tablet. For an installed version of libwacom, see the existing data files (e.g. /usr/share/libwacom/cintiq-13hd.tablet)
  2. A new tablet description is enabled by adding and installing a new file with a .tablet suffix. Once installed the tablet is part of libwacom's database, no rebuild is neccessary
  3. The tablet is then available through libwacom-list-local-devices

You must update udev after installing the file, see below.

To add support for a tablet to an older libwacom

If the system-provided libwacom does not include a .tablet file, it is possible to "backport" that .tablet file to the system-provided libwacom. Simply copy the .tablet file from the upstream git tree into the local directory /etc/libwacom/. Create that directory if necessary.

For versions of libwacom older than 1.9, the file should be copied to /usr/share/libwacom. It may be overwritten on updates.

You must update udev after installing the file, see below.

Updating udev's hwdb

The new device must be added to the udev hwdb to ensure all required udev properties are set. Without a hwdb entry, the device may not be detected as tablet and may not work correctly.

When building from source

Generate an updated hwdb with tools/generate-hwdb.py after adding the tablet description to the data/ directory. This is done automatically during the build, look for the 65-libwacom.hwdb file in the build tree. This file is installed as part of ninja install or make install. Run the following command to activate the new hwdb set:

$ sudo systemd-hwdb update

Now disconnect and reconnect the device and it should be detected by libwacom.

When adding files to an installed version of libwacom

After installing the .tablet file in /etc/libwacom/, run the generate-hwdb.py tool: This tool can be run from the source tree.

$ generate-hwdb.py /etc/libwacom > 66-libwacom-local.hwdb
$ sudo cp 66-libwacom-local.hwdb /etc/udev/hwdb.d/
$ sudo systemd-hwdb update

Now disconnect and reconnect the device and it should be detected by libwacom.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].