{"id":16940911,"url":"https://github.com/iberianpig/fusuma-plugin-sendkey","last_synced_at":"2025-05-16T04:06:57.234Z","repository":{"id":46218502,"uuid":"244350615","full_name":"iberianpig/fusuma-plugin-sendkey","owner":"iberianpig","description":"Fusuma plugin that sending virtual keyboard events","archived":false,"fork":false,"pushed_at":"2025-03-19T07:46:53.000Z","size":138,"stargazers_count":77,"open_issues_count":2,"forks_count":4,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-08T16:01:40.478Z","etag":null,"topics":["evdev","fusuma","fusuma-plugin","keyboard-emulation","linux","sendkeys"],"latest_commit_sha":null,"homepage":null,"language":"Ruby","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/iberianpig.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null},"funding":{"github":["iberianpig"]}},"created_at":"2020-03-02T11:10:05.000Z","updated_at":"2025-04-01T10:27:24.000Z","dependencies_parsed_at":"2024-01-15T15:53:06.876Z","dependency_job_id":"5a034896-88f7-4cc1-ba0c-d0176cba03a1","html_url":"https://github.com/iberianpig/fusuma-plugin-sendkey","commit_stats":{"total_commits":79,"total_committers":2,"mean_commits":39.5,"dds":"0.025316455696202556","last_synced_commit":"29d2533ea7d2d2e300ea50d1fb5eb90b107f2ada"},"previous_names":[],"tags_count":28,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iberianpig%2Ffusuma-plugin-sendkey","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iberianpig%2Ffusuma-plugin-sendkey/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iberianpig%2Ffusuma-plugin-sendkey/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/iberianpig%2Ffusuma-plugin-sendkey/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/iberianpig","download_url":"https://codeload.github.com/iberianpig/fusuma-plugin-sendkey/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254464896,"owners_count":22075570,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["evdev","fusuma","fusuma-plugin","keyboard-emulation","linux","sendkeys"],"created_at":"2024-10-13T21:08:13.957Z","updated_at":"2025-05-16T04:06:52.219Z","avatar_url":"https://github.com/iberianpig.png","language":"Ruby","funding_links":["https://github.com/sponsors/iberianpig"],"categories":[],"sub_categories":[],"readme":"# Fusuma::Plugin::Sendkey [![Gem Version](https://badge.fury.io/rb/fusuma-plugin-sendkey.svg)](https://badge.fury.io/rb/fusuma-plugin-sendkey) [![Build Status](https://github.com/iberianpig/fusuma-plugin-sendkey/actions/workflows/main.yml/badge.svg)](https://github.com/iberianpig/fusuma-plugin-sendkey/actions/workflows/main.yml)\n\n[Fusuma](https://github.com/iberianpig/fusuma) plugin to send keyboard events\n\n* Low-latency key event emulation with evdev\n* Alternative to xdotool available for X11 and Wayland\n\n## Installation\n\nRun the following code in your terminal.\n\n### 1. Install dependencies\n\n#### For Debian Based Distros (Ubuntu, Debian, Mint, Pop!_OS)\n\n**NOTE: If you have installed ruby by apt, you must install ruby-dev.**\n```sh\n$ sudo apt-get install libevdev-dev ruby-dev build-essential\n```\n\n#### For Red Hat Based Distros (Fedora, RHEL)\n\n```sh\n$ sudo dnf install ruby-devel\n```\n\n#### For Arch Based Distros (Manjaro, Arch)\n\n```zsh\n$ sudo pacman -S libevdev base-devel\n```\n\n### 2. Install fusuma-plugin-sendkey\n\n\n**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)\n\nTo install gems system-wide, see any of the methods listed on [Arch Wiki](https://wiki.archlinux.org/index.php/ruby#Installing_gems_system-wide)\n\n\n```sh\n$ sudo gem install revdev\n$ sudo gem install bundler\n$ sudo gem install fusuma-plugin-sendkey\n```\n\n## List Available Keys\n\n```sh\n$ fusuma-sendkey -l\n```\nTo look up a specific key, such as the next or previous song, you can use the `grep -i` filter.\n\n```sh\n$ fusuma-sendkey -l | grep -i song\nNEXTSONG\nPREVIOUSSONG\n```\n\n## Running fusuma-sendkey on Terminal\n\n* `fusuma-sendkey` command is available on your terminal for testing.\n* `fusuma-sendkey` supports modifier keys and multiple key presses.\n   - Combine keys for pressing the same time with `+` \n   - Separate keys for pressing sequentially with `,`\n\n### Example (Sendkey with Modifier Keys)\n\n```sh\n$ fusuma-sendkey LEFTCTRL+T # Open a new tab\n```\n\n### Example (Sendkey with Multiple Key Presses)\n\n```sh\n$ fusuma-sendkey [\"LEFTSHIFT+F10\", \"T\", \"ENTER\", \"ESC\"] # Google Translate\n```\n\nSome of the keys found with `fusuma-sendkey -l` may actually be invalid keys.\nSo test them first with `fusuma-sendkey \u003cKEYCODE\u003e` before adding them to config.yml.\n\n\n## Add Sendkey Properties to config.yml\n\nAdd the `sendkey:` property in your `~/.config/fusuma/config.yml`.\n\nLines beginning with `#` are comments.\n\n```yaml\nswipe:\n  3:\n    left:\n      sendkey: \"LEFTALT+RIGHT\" # History back\n    right:\n      sendkey: \"LEFTALT+LEFT\" # History forward\n    up:\n      sendkey: \"LEFTCTRL+T\" # Open a new tab\n    down:\n      sendkey: \"LEFTCTRL+W\" # Close a tab\n\nhold:\n  3:\n    sendkey: [\"LEFTSHIFT+F10\", \"T\", \"ENTER\", \"ESC\"] # Translate in Google Chrome\n```\n\n### clearmodifiers\n\n- `clearmodifiers: true` option clears other modifier keys before sending\n\n```yaml\nswipe:\n  4:\n    up:\n      keypress:\n        LEFTSHIFT:\n          sendkey: \"LEFTMETA+DOWN\"\n          clearmodifiers: true # Clear LEFTSHIFT before sending LEFTMETA+DOWN\n```\n\n### Specify Keyboard by Device Name\n\nIf you encounter the following error message, please set your keyboard name in `plugin.executors.sendkey_executor.device_name` in config.yml.\n\n```sh\n$ fusuma-sendkey -l\nsendkey: Keyboard: /keyboard|Keyboard|KEYBOARD/ is not found\n```\n\nAdd the following code to the bottom of `~/.config/fusuma/config.yml` to recognize only the specified keyboard device.\n\n```yaml\nplugin:\n  executors:\n    sendkey_executor:\n      device_name: 'YOUR KEYBOARD NAME'\n```\n\n**Note**: If [fusuma-plugin-remap](https://github.com/iberianpig/fusuma-plugin-remap) is available, it will automatically connect to `fusuma_virtual_keyboard`, so the `device_name` option is not required.\n\n## Contributing\n\nBug 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](http://contributor-covenant.org) code of conduct.\n\n## License\n\nThe gem is available as open source under the terms of the [MIT License](https://opensource.org/licenses/MIT).\n\n## Code of Conduct\n\nEveryone interacting in the Fusuma::Plugin::Sendkey project’s codebases, issue trackers, chat rooms and mailing lists is expected to follow the [code of conduct](https://github.com/iberianpig/fusuma-plugin-sendkey/blob/master/CODE_OF_CONDUCT.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiberianpig%2Ffusuma-plugin-sendkey","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fiberianpig%2Ffusuma-plugin-sendkey","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fiberianpig%2Ffusuma-plugin-sendkey/lists"}