All Projects → iberianpig → fusuma-plugin-sendkey

iberianpig / fusuma-plugin-sendkey

Licence: MIT License
Fusuma plugin that sending virtual keyboard events

Programming Languages

ruby
36898 projects - #4 most used programming language
shell
77523 projects

Projects that are alternatives of or similar to fusuma-plugin-sendkey

fusuma-plugin-wmctrl
Window Manager plugin for Fusuma
Stars: ✭ 36 (-12.2%)
Mutual labels:  fusuma, fusuma-plugin
fusuma-plugin-tap
Tap and Hold gestures plugin for Fusuma
Stars: ✭ 16 (-60.98%)
Mutual labels:  fusuma, fusuma-plugin
fusuma-plugin-keypress
Keypress combination plugin for Fusuma
Stars: ✭ 21 (-48.78%)
Mutual labels:  fusuma, fusuma-plugin
Chafu
A photo browser and camera library for Xamarin.iOS
Stars: ✭ 36 (-12.2%)
Mutual labels:  fusuma
x-keyboard
A zero-dependency web component to display and emulate keyboard layouts.
Stars: ✭ 15 (-63.41%)
Mutual labels:  keyboard-emulation
InputBot
A Rust library for creating global hotkeys, and emulating inputs.
Stars: ✭ 246 (+500%)
Mutual labels:  keyboard-emulation
blackdesert-fishbot
Fishing bot for Black Desert Online
Stars: ✭ 59 (+43.9%)
Mutual labels:  keyboard-emulation
lua-evdev
Lua module for reading Linux input events from /dev/input/eventXX nodes
Stars: ✭ 31 (-24.39%)
Mutual labels:  evdev
evsieve
A utility for mapping events from Linux event devices.
Stars: ✭ 123 (+200%)
Mutual labels:  evdev
android touch
Low latency high speed android multitouch event server
Stars: ✭ 73 (+78.05%)
Mutual labels:  evdev
react-virtual-keyboard
Use jQuery Virtual Keyboard in react.js
Stars: ✭ 44 (+7.32%)
Mutual labels:  keyboard-emulation
interception-k2k
Configurable plugin for Interception Tools (caps2esc, space2meta, tab2altgr...)
Stars: ✭ 38 (-7.32%)
Mutual labels:  evdev
stenogotchi
Portable stenography using Plover and bluetooth keyboard emulation on a Raspberry Pi Zero W
Stars: ✭ 71 (+73.17%)
Mutual labels:  keyboard-emulation

Fusuma::Plugin::Sendkey Gem Version Build Status

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

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'

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].