https://github.com/rush/wayland-push-to-talk-fix
This fixes the inability to use push to talk in Discord when running Wayland
https://github.com/rush/wayland-push-to-talk-fix
Last synced: about 2 months ago
JSON representation
This fixes the inability to use push to talk in Discord when running Wayland
- Host: GitHub
- URL: https://github.com/rush/wayland-push-to-talk-fix
- Owner: Rush
- License: mit
- Created: 2022-09-29T17:25:48.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2023-12-19T17:25:09.000Z (over 1 year ago)
- Last Synced: 2025-03-27T14:21:19.851Z (3 months ago)
- Language: C++
- Size: 14.6 KB
- Stars: 64
- Watchers: 6
- Forks: 12
- Open Issues: 9
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# 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](https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h).
- `-n`: keycode to send to discord. [Full list](https://github.com/xkbcommon/libxkbcommon/blob/master/include/xkbcommon/xkbcommon-keysyms.h) (ignore leading `XKB_KEY_`).
- You can use mouse buttons as well for both options, you can determine the
correct keycode for `-k` using [evtest](https://cgit.freedesktop.org/evtest/).
The correct keycode for `-n` will be in the form of `MOUSE` and you
can use [xev](https://gitlab.freedesktop.org/xorg/app/xev/) to determine
`` for the particular button press that you are interested in.# Installation
## Manual run
```
make
sudo ./push-to-talk /dev/input/by-id/ &
```## Autostart
First edit the `push-to-talk.desktop` file and replace `/dev/input/by-id/` with your device path. Then:
```
make
sudo make install# to allow you access `/dev/input` devices without root
sudo usermod -aG input
```
Then just log out and log in. A process named `push-to-talk` should be running (visible in any process monitor).# License
MIT