Commit Graph

15 Commits

Author SHA1 Message Date
evan
ca91bcfd47 bump version 2020-04-15 11:03:05 -05:00
evan
e86a5dbe42 Separate libevdev, pynput solutions into modules 2019-07-14 22:53:14 -05:00
evan
06e4141268 combine libev/pynput solutions, add --evdev arg 2019-07-13 00:57:16 -05:00
Mattéo Delabre
2f9da784fb Send events to a virtual input device
Instead of sending mouse move and click events to the system’s main
device, create a separate virtual input device that registers itself as
a Wacom tablet. Most importantly, this enables pressure and tilt
sensitivity which is picked up by programs such as GIMP or Krita.

Because this uses the `libevdev` library that is only supported on
Linux, this commit breaks compatibility with Windows and (probably)
macOS.

Furthermore, because creating virtual input devices is restricted to
root, the script must now be run with `sudo`. Failing to do so will most
likely trigger a permission error.

CLI changes
-----------

* Drop the `--orientation` flag. Orientation of the device can now be
configured just like any other Wacom device using `xinput`:

```
xinput --set-prop "reMarkable tablet stylus" "Wacom Rotation" <orientation>
```

where `<orientation>` is one of 0 (for “right” orientation), 1 (for
“portrait” orientation), 2 (for “left” orientation) or 3 (for “reversed
portrait” orientation).

* Drop the `--monitor` flag. This can also be configured using `xinput`
instead:

```
xinput --map-to-output "reMarkable tablet stylus" <output>
```

where `<output>` is the name of an output currently connected to the
device, as listed by `xrandr` (e.g. LVDS1).

* Drop the `--offset` flag. This didn’t seem to be used anywhere in the
code.

* Drop the `--threshold` flag. The pressure threshold required to
trigger a click event can be configured using `xinput`:

```
xinput --set-prop "reMarkable tablet stylus" "Wacom Pressure Threshold" 1000
```

where `1000` can be replaced by an arbitrary pressure threshold. On my
machine, the default seems to be 26. The pressure profile (mapping the
actual pressure put on the stylus to the pressure actually received by
the drawing programs) can also be adjusted using the following prop:

```
xinput --set-prop "reMarkable tablet stylus" "Wacom Pressurecurve" 50 0
100 50
```

Dependencies changes
--------------------

Replaced dependency pynput with libevdev (which requires that libevdev
is present on the system). Dropped dependency `screeninfo` because
assigning the input to a monitor is no longer done through this program.
2019-06-22 18:06:20 +02:00
Evan Widloski
b46c1cc075 Merge pull request #7 from bordaigorl/fix-events
Fix too many PRESS events issue
2019-05-06 18:13:38 -05:00
Emanuele
f5a377475e Fix too many PRESS events issue #6 2019-05-06 10:18:24 +01:00
evan
dc1697913b fix --password 2019-04-03 19:21:56 -05:00
evan
52c0c52ae2 the world isn't ready for fstrings 2019-04-03 19:21:56 -05:00
evan
5d88a678d9 add --threshold, toss old variables 2019-04-03 19:21:56 -05:00
evan
b936c89cc2 add --threshold, toss old variables 2019-03-14 00:55:08 -05:00
Evan Widloski
80a8111ece Update README.md 2019-02-25 20:40:15 -06:00
evan
b071b9af85 add photo, ssh connection message 2019-02-25 20:37:10 -06:00
Evan Widloski
a890ba07ea Merge pull request #1 from LinusCDE/master
Fixed struct format to prevent lagging cursor and future bug
2019-02-24 17:27:25 -06:00
Linus
b75c1ac54f Fixed struct format to prevent lagging cursor and future bug 2019-02-24 16:00:00 +01:00
evan
1daaa1e3fe init commit 2019-02-24 03:24:48 -06:00