fusuma-plugin-sendkey
fusuma-plugin-sendkey copied to clipboard
Fusuma plugin that sending virtual keyboard events
Fusuma::Plugin::Sendkey

Fusuma plugin to send keyboard events
- Low-latency key event emulation with evdev
- Alternative to xdotool available for X11 and Wayland
Installation
Run the following code in your terminal.
1. Install dependencies
For Debian Based Distros (Ubuntu, Debian, Mint, Pop!_OS)
NOTE: If you have installed ruby by apt, you must install ruby-dev.
$ sudo apt-get install libevdev-dev ruby-dev build-essential
For Arch Based Distros (Manjaro, Arch)
$ sudo pacman -S libevdev base-devel
2. Install fusuma-plugin-sendkey
Note For Arch Based Distros: By default in Arch Linux, when running gem
, gems are installed per-user (into ~/.gem/ruby/
), instead of system-wide (into /usr/lib/ruby/gems/
). This is considered the best way to manage gems on Arch, because otherwise they might interfere with gems installed by Pacman. (From Arch Wiki)
To install gems system-wide, see any of the methods listed on Arch Wiki
$ sudo gem install revdev
$ sudo gem install bundler
$ sudo gem install fusuma-plugin-sendkey
List available keys
$ fusuma-sendkey -l
If you want to look up a specific key, like the next song or the previous song, the grep -i
refinement search is useful.
$ fusuma-sendkey -l | grep -i song
NEXTSONG
PREVIOUSSONG
Run fusuma-sendkey on Terminal
-
fusuma-sendkey
command is available on your terminal -
fusuma-sendkey
supports modifier keys and multiple key presses. Combine keys for pressing the same time with+
$ fusuma-sendkey LEFTCTRL+T # press ctrl key + t key
Some of the keys found with fusuma-sendkey -l
may actually be invalid keys.
So test it once with fusuma-sendkey <KEYCODE>
and then add it to config.yml.
Add sendkey properties to config.yml
Add sendkey:
property in ~/.config/fusuma/config.yml
.
lines beginning from #
are comments
swipe:
3:
left:
sendkey: "LEFTALT+RIGHT" # history back
right:
sendkey: "LEFTALT+LEFT" # history forward
up:
sendkey: "LEFTCTRL+T" # open new tab
down:
sendkey: "LEFTCTRL+W" # close tab
clearmodifiers
-
clearmodifiers: true
option clears other modifier keys before sending
swipe:
4:
up:
keypress:
LEFTSHIFT:
sendkey: "LEFTMETA+DOWN"
clearmodifiers: true # clear LEFTSHIFT before sending LEFTMETA+DOWN
Specify keyboard by device name
If you got following error message, try to set your keyboard name to plugin.executors.sendkey_executor.device_name
on config.yml
$ fusuma-sendkey -l
sendkey: Keyboard: /keyboard|Keyboard|KEYBOARD/ is not found
Set the following options to recognize keyboard only for the specified keyboard device.
Open ~/.config/fusuma/config.yml
and add the following code at the bottom.
plugin:
executors:
sendkey_executor:
device_name: 'YOUR KEYBOARD NAME'
If fusuma-plugin-remap is available, it will be automatically connected to fusuma_virtual_keyboard
, so device_name
option is not required.
Contributing
Bug reports and pull requests are welcome on GitHub at https://github.com/iberianpig/fusuma-plugin-sendkey. This project is intended to be a safe, welcoming space for collaboration, and contributors are expected to adhere to the Contributor Covenant code of conduct.
License
The gem is available as open source under the terms of the MIT License.
Code of Conduct
Everyone interacting in the Fusuma::Plugin::Sendkey project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the code of conduct.