https://github.com/user202729/plover-xtest-input
Plover plugin to capture input from the xtest keyboard.
https://github.com/user202729/plover-xtest-input
plover plover-plugins
Last synced: 10 months ago
JSON representation
Plover plugin to capture input from the xtest keyboard.
- Host: GitHub
- URL: https://github.com/user202729/plover-xtest-input
- Owner: user202729
- License: gpl-3.0
- Created: 2021-04-04T07:40:49.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-07-16T11:06:31.000Z (11 months ago)
- Last Synced: 2025-07-31T21:17:21.175Z (11 months ago)
- Topics: plover, plover-plugins
- Language: Python
- Homepage:
- Size: 21.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# plover-xtest-input
Capture input from the xtest keyboard.
Only on systems that uses X.
Would be useful to use Plover from other machines from a remote control program
(TeamViewer, for example) if it uses xtest keyboard to send key presses.
Note: must not be used together with the default output method
(which uses xtest to simulate key presses. That will create an infinite loop).
Alternative output methods include [plover-uinput-output](https://github.com/user202729/plover-uinput-output)
(works better, but does not support full Unicode), and [plover-unused-xtest-output](https://github.com/user202729/plover-unused-xtest-output)
(doesn't work as well, especially with keyboard shortcuts)
For testing, `xdotool` can be used.
### Machines
When the plugin is installed, two additional machines are listed,
`XTEST keyboard` and `XTEST serial keyboard`.
* `XTEST keyboard` captures the key up/key down events like from a normal keyboard.
* `XTEST serial keyboard` captures the key presses events from the XTEST keyboard, then
decode it to a chord using some algorithm (see the source code for details).
This was implemented to use Plover over TeamViewer/Dotterel. To use it, you should
download Dotterel (some version that includes [this commit](https://github.com/user202729/dotterel/commit/ba36bd4ffe59626999b98fa1aeaa9e403c80e2ba).
You may need to build it from source), disable all the dictionaries and only keep the
`SerialEncoding` dictionary, then use it normally.