Skip to content

Instantly share code, notes, and snippets.

@AcouBass
Last active May 11, 2023 02:01
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save AcouBass/76bfd10526b20c3ae598deebdf703205 to your computer and use it in GitHub Desktop.
Save AcouBass/76bfd10526b20c3ae598deebdf703205 to your computer and use it in GitHub Desktop.
# Example model file description for a tablet
#
# The .tablet file must have a name matching the device, usually
# the lowercase version of <vendor>-<model>.tablet. See existing data files
# for guidance, Wacom devices can skip the vendor name.
#
# In most cases, a tablet data file can be autogenerated, see the README
# in the wacom-hid-descriptors repository:
# https://github.com/linuxwacom/wacom-hid-descriptors/
#
# In 90% of remaining cases we already ship a file for a device that is
# similar to the new one to be added. The best approach is to copy that file
# and change it. This example file here describes all possible keys.
#
# To test a new file, copy it into /usr/share/libwacom/ and run
# libwacom-list-local-devices. This should show your device with all
# information from this file.
#
# The file should start with a pseudo-drawing of the device that illustrates
# where the buttons are. See the data/intuos5-m.tablet file for a full
# example:
#
# Wacom
# Intuos5 M
# PTK-650
#
# Button Map:
# (A=1, B=2, C=3, ...)
#
# *-----------------------*
# | |
# B | |
# C | |
# D | |
# E | |
# A | TABLET |
# F | |
# G | |
# H | |
# I | |
# | |
# *-----------------------*
#
[Device]
# The name is the vendor and product name announced by the kernel. This
# filename is shown as device name by tools like libinput record,
# evemu-record or evtest.
Name=GXTP7380:00 27C6:0113 Stylus
# The unique model name for this device where it differs significantly from
# the Name. For example, Wacom has several devices named Wacom Intuos Pro
# but they all have a unique model name (e.g. PTH-660).
# Leave blank where the device name is sufficient to identify.
ModelName=
# DeviceMatch includes the bus (usb, bluetooth, serial), the vendor ID and
# product ID. This is the connector used, not whatever name the kernel
# might give it, so some "Wacom Serial" builtin devices will be USB
# as that's how they're connected.
#
# For example:
# $ lsusb | grep Wacom
# Bus 002 Device 003: ID 056a:00bc Wacom Co., Ltd Intuos4 6x9
# will give you the device match below.
#
# You can find a full list of known Device IDs at:
# https://github.com/linuxwacom/input-wacom/wiki/Device-IDs
#
# Do not add 0x in front of the hex numbers, make sure to pad each ID
# so it has exactly 4 digits. hex letters must be lowercase.
DeviceMatch=i2c:27c6:0113
# Paired PID includes the match line of any device that share the same
# physical device but has different product or vendor ids (e.g. the touch
# device on the 24HDT). The format of the match line is identical to
# DeviceMatch but only one value is permitted.
# Note: the PIDs listed may not be libwacom devices themselves.
#PairedIDs=
# Class of the tablet. Valid classes include Intuos3, Intuos4, Graphire, Bamboo, Cintiq
# If unsure, or not applicable (the tablet isn't stand-alone for example).
#
# The class is deprecated as of v1.4. For non-Wacom devices, set to Bamboo
# for external tablets and ISDV4 for built-in ones.
Class=
# (Optional) Width in inches, as advertised by the manufacturer
Width=7
# (Optional) Height in inches, as advertised by the manufacturer
Height=4.5
# Integration flags. Set to Display where the device is an external monitor
# (e.g. Cintiq) or Display;System where the device is built into the display
# of the system itself (i.e. part of a laptop). Leave empty for external
# tablets.
# Note, if unspecified, the integration flags will be taken from the kernel.
IntegratedIn=Display;System
# Filename of the SVG representing this tablet. Only needed for tablets with
# pad buttons.
#Layout=bamboo-16fg-m-pt.svg
# Styli
#
# This is a list of stylus IDs supported by the tablet. Non-Wacom devices
# usually do not support specific stylus IDs and default to the generic
# pens. If the stylus has an eraser:
# Styli=0xffffe;0xfffff;
# If the stylus does not have an eraser:
# Styli=0xffffd
#
# For Wacom devices this is needed only for the professional series devices,
# i.e. Intuos Pro and Cintiq.
#
# In general, differently sized models of the same range support the same
# styli, so you can copy/paste the list from another definition.
#
# After that, you can try piecing the stylus list from the names of the
# styli in libwacom.stylus, using the Wacom webshop as a reference
# (how many supported styli, what do they look like, etc.)
#
# Finally, if you cannot find any information about the styli supported
# by your device, you will need to gather the "Wacom Serial IDs",
# and getting each stylus in proximity of the tablet.
Styli=0xffffe;0xfffff;
# Optional features that this tablet supports
# Some features are dependent on the actual tool used, e.g. not all styli
# have an eraser and some styli have additional custom axes (e.g. the
# airbrush pen). These features describe those available on the tablet.
#
# Features not set in a file default to false/0
[Features]
# This tablet supports styli (and erasers, if present on the actual stylus)
Stylus=true
# Whether the tablet can be used left-handed.
# This is only for asymmetrical stand-alone tablets. The tablet
# is deemed reversible if the tablet can be turned 180 degrees
# so buttons are placed on the other side. The Intuos4 tablet
# is a great example of that.
Reversible=false
# This tablet supports touch.
Touch=true
# This tablet provides a hardware touch switch.
TouchSwitch=false
# This tablet has a touch ring (Intuos4 and Cintiq 24HD)
# A touch ring is a circular button that responds to touch
# (rather than clicks):
# http://intuos.wacom.com/americas/touch-ring.php
Ring=false
# This tablet has a second touch ring (Cintiq 24HD)
Ring2=false
# This tablet's number of strips, default is zero
NumStrips=0
# Number of buttons on the tablet
Buttons=0
# Metadata about the buttons on the tablet
# Buttons are "numbered" using upper-case letters
#[Buttons]
# Location of the buttons
#Left=A;B
#Right=C;D
#Top=
#Bottom=
## The evdev codes for the buttons in order A, B, C, ...
# The code must be defined for all buttons or this line is ignored
#EvdevCodes=0x110;0x112;0x111;0x113
#####################
# ADVANCED FEATURES #
#####################
# Those are only needed for a few professional tablets
# for which the values have already been filled in.
# Which buttons have OLEDs associated to them
# Only the Intuos4 devices had this.
# http://101.wacom.com/i4settings/images/expresskeys-feature.jpg
#OLEDs=B;C;D;E;F;G;H;I
# The location of the various rings, if associated with a button
# or buttons.
# For example, a single button in the middle of the touchring, like
# on the Intuos4 tablets. You will need to mention the number of modes
# that the button allows if there isn't one button per mode.
#Ring=A
#RingNumModes=4
# Or the 2nd touchring associated with 3 buttons like the Cintiq24HD
#Ring2=I;J;K
# Implied, as we have 3 buttons for that ring
#Ring2NumModes=3
# If the touchstrips have mode toggling through a button
# like on the Cintiq 21UX2
#Touchstrip=A
#Touchstrip2=J
# We assume the same number of modes for each of the touchstrips
# if there is more than one
#StripsNumModes=4
{ config, lib, pkgs, modulesPath, ... }:
let
libwacomAdditions = ./libwacomstuff;
libwacom = pkgs.buildEnv {
name = "libwacom";
paths = [ pkgs.unstable.libwacom libwacomAdditions ];
};
in {
services = {
xserver.modules = [ libwacom ];
udev.packages = [ libwacom ];
};
environment.systemPackages = [ libwacom ];
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment