3

So I have been messing around with xsetwacom with my wacom and I would like to touch the pen to the tablet without it thinking I want a "left mouse button" being held down. The reason for this is moving the pen without selecting means hovering over the tablet which can be imprecise. I want to use the first button on the pen to be a left mouse button. I have a long list of parameters for xsetwacom but I am unsure of how to use the pen to navigate the tablet without selecting (while touching)

xsetwacom --list parameters

Area             - Valid tablet area in device coordinates.
Button           - X11 event to which the given button should be mapped. 
ToolDebugLevel   - Level of debugging trace for individual tools (default is 0 [off]). 
TabletDebugLevel - Level of debugging statements applied to shared code paths between all tools associated with the same tablet (default is 0 [off]). 
Suppress         - Number of points trimmed (default is 2). 
RawSample        - Number of raw data used to filter the points (default is 4). 
PressureCurve    - Bezier curve for pressure (default is 0 0 100 100 [linear]). 
Mode             - Switches cursor movement mode (default is absolute). 
TabletPCButton   - Turns on/off Tablet PC buttons (default is off for regular tablets, on for Tablet PC). 
Touch            - Turns on/off Touch events (default is on). 
HWTouchSwitchState - Touch events turned on/off by hardware switch. 
Gesture          - Turns on/off multi-touch gesture events (default is on). 
ZoomDistance     - Minimum distance for a zoom gesture (default is 50). 
ScrollDistance   - Minimum motion before sending a scroll gesture (default is 20). 
TapTime          - Minimum time between taps for a right click (default is 250). 
CursorProximity  - Sets cursor distance for proximity-out in distance from the tablet (default is 10 for Intuos series, 42 for Graphire series). 
Rotate           - Sets the rotation of the tablet. Values = none, cw, ccw, half (default is none). 
RelWheelUp       - X11 event to which relative wheel up should be mapped. 
RelWheelDown     - X11 event to which relative wheel down should be mapped. 
AbsWheelUp       - X11 event to which absolute wheel up should be mapped. 
AbsWheelDown     - X11 event to which absolute wheel down should be mapped. 
AbsWheel2Up      - X11 event to which absolute wheel up should be mapped. 
AbsWheel2Down    - X11 event to which absolute wheel down should be mapped. 
StripLeftUp      - X11 event to which left strip up should be mapped. 
StripLeftDown    - X11 event to which left strip down should be mapped. 
StripRightUp     - X11 event to which right strip up should be mapped. 
StripRightDown   - X11 event to which right strip down should be mapped. 
Threshold        - Sets tip/eraser pressure threshold (default is 27). 
ResetArea        - Resets the bounding coordinates to default in tablet units. 
ToolType         - Returns the tool type of the associated device. 
ToolSerial       - Returns the serial number of the current device in proximity.
ToolID           - Returns the tool ID of the current tool in proximity.
ToolSerialPrevious - Returns the serial number of the previous device in proximity.
BindToSerial     - Binds this device to the serial number.
TabletID         - Returns the tablet ID of the associated device. 
PressureRecalibration - Turns on/off Tablet pressure recalibration
MapToOutput      - Map the device to the given output. 
all              - Get value for all parameters. 
Rmano
  • 32,217
andykais
  • 161

1 Answers1

1

You need to change settings of stylus buttons. Use xsetwacom list to find name of your stylus, in my case output of command is:

Wacom Intuos S Pad pad              id: 15  type: PAD       
Wacom Intuos S Pen stylus           id: 16  type: STYLUS    
Wacom Intuos S Pen eraser           id: 17  type: ERASER    
Wacom Intuos S Pen cursor           id: 18  type: CURSOR

Stylus is "Wacom Intuos S Pen stylus".

DEVICE_STYLUS='Wacom Intuos S Pen stylus'
xsetwacom set "$DEVICE_STYLUS" Button 1 "button +0" # nothing on touch
xsetwacom set "$DEVICE_STYLUS" Button 2 "button +1" # left click on lower button
xsetwacom set "$DEVICE_STYLUS" Button 3 "button +3" # right click on upper button

That's it, Button 1 of stylus is touching of pad, not real button. Script above disables this action. Lower button is Button 2, assign left click to it. Upper button is Button 3, you may want to assign right click to it or something else. If you have more buttons you can assign additional actions to them. Note that pad buttons belong to pad device, not stylus.

Settings of xsetwacom are not persisted after system reboot, so you may want to write small script and run it manually or automatically after boot. Reconnection of pad also resets settings to their defaults, you can play around and then reset. You can check all current settings of each device like this:

xsetwacom -s get "$DEVICE_STYLUS" all

It may be very helpful to check which options can be changed for concrete device. Note that some options may not work for your model.

kdmitry
  • 111