New Case Study:See how Anthropic automated 95% of dependency reviews with Socket.Learn More
Socket
Sign inDemoInstall
Socket

fusuma-plugin-sendkey

Package Overview
Dependencies
Maintainers
1
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

fusuma-plugin-sendkey

  • 0.13.2
  • Rubygems
  • Socket score

Version published
Maintainers
1
Created
Source

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

To look up a specific key, such as the next or previous song, you can use the grep -i filter.

$ fusuma-sendkey -l | grep -i song
NEXTSONG
PREVIOUSSONG

Running fusuma-sendkey on Terminal

  • fusuma-sendkey command is available on your terminal for testing.
  • fusuma-sendkey supports modifier keys and multiple key presses.
    • Combine keys for pressing the same time with +
    • Separate keys for pressing sequentially with ,

Example (Sendkey with Modifier Keys)

$ fusuma-sendkey LEFTCTRL+T # Open a new tab

Example (Sendkey with Multiple Key Presses)

$ fusuma-sendkey ["LEFTSHIFT+F10", "T", "ENTER", "ESC"] # Google Translate

Some of the keys found with fusuma-sendkey -l may actually be invalid keys. So test them first with fusuma-sendkey <KEYCODE> before adding them to config.yml.

Add Sendkey Properties to config.yml

Add the sendkey: property in your ~/.config/fusuma/config.yml.

Lines beginning with # are comments.

swipe:
  3:
    left:
      sendkey: "LEFTALT+RIGHT" # History back
    right:
      sendkey: "LEFTALT+LEFT" # History forward
    up:
      sendkey: "LEFTCTRL+T" # Open a new tab
    down:
      sendkey: "LEFTCTRL+W" # Close a tab

hold:
  3:
    sendkey: ["LEFTSHIFT+F10", "T", "ENTER", "ESC"] # Translate in Google Chrome

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 encounter the following error message, please set your keyboard name in plugin.executors.sendkey_executor.device_name in config.yml.

$ fusuma-sendkey -l
sendkey: Keyboard: /keyboard|Keyboard|KEYBOARD/ is not found

Add the following code to the bottom of ~/.config/fusuma/config.yml to recognize only the specified keyboard device.

plugin:
  executors:
    sendkey_executor:
      device_name: 'YOUR KEYBOARD NAME'

Note: If fusuma-plugin-remap is available, it will automatically connect to fusuma_virtual_keyboard, so the 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.

FAQs

Package last updated on 22 Oct 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc