Skip to content

This fixes the inability to use push to talk in Discord when running Wayland

License

Notifications You must be signed in to change notification settings

Rush/wayland-push-to-talk-fix

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

13 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

wayland-push-to-talk-fix

This fixes the inability to use push to talk in Discord when running Wayland

NOTE: by default the left Meta (Windows) key is used for push to talk. In order to use a different key, see the configuration section below.

Requirements

Nothing special.

  • C++ compiler & Make
  • libevdev
  • libxdo (Debian/Ubuntu: libxdo-dev, Fedora/Centos: libxdo-devel)

Approach

Read specific key events via evdev (needs sudo) and then pass them to libxdo to inject key presses to X apps.

Configuration

The command supports three command line args.

  • -v: verbose mode, logs all keystrokes
  • -k: keycode to listen for. Full list.
  • -n: keycode to send to discord. Full list (ignore leading XKB_KEY_).
  • You can use mouse buttons as well for both options, you can determine the correct keycode for -k using evtest. The correct keycode for -n will be in the form of MOUSE<num> and you can use xev to determine <num> for the particular button press that you are interested in.

Installation

Manual run

make
sudo ./push-to-talk /dev/input/by-id/<device-id> &

Autostart

First edit the push-to-talk.desktop file and replace /dev/input/by-id/<device-id> with your device path. Then:

make
sudo make install

# to allow you access `/dev/input` devices without root
sudo usermod -aG input <your username>

Then just log out and log in. A process named push-to-talk should be running (visible in any process monitor).

License

MIT