All Projects → iberianpig → fusuma-plugin-keypress

iberianpig / fusuma-plugin-keypress

Licence: MIT License
Keypress combination plugin for Fusuma

Programming Languages

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

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

fusuma-plugin-tap
Tap and Hold gestures plugin for Fusuma
Stars: ✭ 16 (-23.81%)
Mutual labels:  fusuma, fusuma-plugin
Hotkeys
➷ A robust Javascript library for capturing keyboard input. It has no dependencies.
Stars: ✭ 5,165 (+24495.24%)
Mutual labels:  keyboard, keypress
global-keypress
Global key press event emitter.
Stars: ✭ 25 (+19.05%)
Mutual labels:  keyboard, keypress
Chordly
Chordly is a javascript library that may be used to detect and act upon key sequences entered by a user.
Stars: ✭ 14 (-33.33%)
Mutual labels:  keyboard, keypress
re-pressed
re-pressed is a clojurescript library that handles keyboard events for re-frame applications.
Stars: ✭ 150 (+614.29%)
Mutual labels:  keyboard, keypress
fusuma-plugin-wmctrl
Window Manager plugin for Fusuma
Stars: ✭ 36 (+71.43%)
Mutual labels:  fusuma, fusuma-plugin
fusuma-plugin-sendkey
Fusuma plugin that sending virtual keyboard events
Stars: ✭ 41 (+95.24%)
Mutual labels:  fusuma, fusuma-plugin
better-keyboard
A js keyboard component for mobile.
Stars: ✭ 55 (+161.9%)
Mutual labels:  keyboard
Unexpected-Keyboard
A lightweight virtual keyboard for developers.
Stars: ✭ 145 (+590.48%)
Mutual labels:  keyboard
openinput
Open source firmware for input devices
Stars: ✭ 43 (+104.76%)
Mutual labels:  keyboard
usbhostcopro
USB Host Co-processor
Stars: ✭ 54 (+157.14%)
Mutual labels:  keyboard
SerialProxy
🖱️⌨️ Arduino Input Proxying for PC (.NET Core)
Stars: ✭ 39 (+85.71%)
Mutual labels:  keyboard
Chess-Helper
Simple Chrome extension adding nice features to chess.com website
Stars: ✭ 23 (+9.52%)
Mutual labels:  keyboard
KioskBoard
KioskBoard - A pure JavaScript library for using virtual keyboards.
Stars: ✭ 114 (+442.86%)
Mutual labels:  keyboard
Teleprinter
The missing Android keyboard API
Stars: ✭ 33 (+57.14%)
Mutual labels:  keyboard
PGNumberKeyboard
一款非常简单漂亮灵活的自定义数字键盘.
Stars: ✭ 16 (-23.81%)
Mutual labels:  keyboard
Plaid-Pad
Build guide and additional hardware for the Plaid-Pad mechanical macro pad.
Stars: ✭ 39 (+85.71%)
Mutual labels:  keyboard
vise
A keyboard driven browser with tabs in a tree
Stars: ✭ 87 (+314.29%)
Mutual labels:  keyboard
Key-n-Stroke
I'm an app and show all the letters you type and keyboard shortcuts you use as well as mouse clicks.
Stars: ✭ 223 (+961.9%)
Mutual labels:  keypress
barrier
Open-source KVM software
Stars: ✭ 17,366 (+82595.24%)
Mutual labels:  keyboard

Fusuma::Plugin::Keypress Gem Version Build Status

Keyboard + Touchpad combination plugin for Fusuma

  • Customize gestures with modifier keys
  • Supports multiple modifier key combinations

Installation

Run the following code in your terminal.

Install fusuma-plugin-keypress

This plugin requires Fusuma version 1.4 or later.

$ sudo gem install fusuma-plugin-keypress

Add show-keycodes option

Open ~/.config/fusuma/config.yml and add the following code at the bottom.

plugin:
  inputs:
    libinput_command_input:
      show-keycodes: true

NOTE: fusuma can read your keyboard inputs if show-keycodes option is true

Properties

Keypress

Add keypress: property in ~/.config/fusuma/config.yml.

Keys following are available for keypress.

  • CAPSLOCK
  • LEFTALT
  • LEFTCTRL
  • LEFTMETA
  • LEFTSHIFT
  • RIGHTALT
  • RIGHTCTRL
  • RIGHTSHIFT
  • RIGHTMETA

Example

Set keypress: property and values under gesture in ~/.config/fusuma/config.yml.

swipe:
  4:
    up:
      command: 'xdotool key super+s'
      keypress:
        LEFTMETA:
          command: 'xdotool key --clearmodifiers XF86MonBrightnessUp'
        LEFTMETA+LEFTALT:
          command: 'xdotool key --clearmodifiers XF86AudioRaiseVolume'

    down:
      command: 'xdotool key super+a'
      keypress:
        LEFTMETA:
          command: 'xdotool key --clearmodifiers XF86MonBrightnessDown'
        LEFTMETA+LEFTALT:
          command: 'xdotool key --clearmodifiers XF86AudioLowerVolume'

plugin:
  inputs:
    libinput_command_input:
      show-keycodes: true
  • Swipe up/down with four fingers while keypress LEFTMETA key to change display brightnes .
  • Swipe up/down with four fingers while keypress LEFTMETA and LEFTALT keys to change audio volume.
    • If you want to combine a gesture with two keys, combine modifier keys with +

Typing trigger

typing: is a trigger that fires when keys other than modifier keys are pressed. This trigger provides disable-while-typing similar to libinput and syndaemon. If you are using a keyremapper such as xkeysnail and libinput's disable-while-typing does not work, try setting it.

It can be placed in the root of yaml and configured as a gesture. The following is a configuration that uses xinput to turn off tapping for 0.6 seconds to avoid false touches.

typing: # disable while typing
  command: |
    touchpad_id=$(xinput | grep Touchpad | grep -oE "id=[0-9]*" | cut -d"=" -f 2)
    xinput set-prop $touchpad_id "libinput Tapping Enabled" 0
    file=/tmp/typing_command_break
    touch "$file"
    sleep 0.6
    [ `find "$file" -mmin +0.01` ] && \
      xinput set-prop $touchpad_id "libinput Tapping Enabled" 1
  interval: 0.5

Contributing

Bug reports and pull requests are welcome on GitHub at https://github.com/iberianpig/fusuma-plugin-keypress. 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::Keypress 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].