Metadata-Version: 2.1
Name: obs-waykey
Version: 0.1.2
Summary: OBS global shortcuts workaround for wayland using websocket
Author: PolyCat
Author-email: polycat@tuta.io
Requires-Python: >=3.9,<4.0
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Dist: obsws-python (>=1.7.0,<2.0.0)
Description-Content-Type: text/markdown

# OBS WayKey

Python script for setting up OBS global keybinds under wayland

## Requirements

-   [OBS Studio](https://obsproject.com/)
-   [OBS Websocket v5 Plugin](https://github.com/obsproject/obs-websocket/releases/tag/5.0.0)
    -   ATTENTION: For OBS version 28 and above Websocket plugin is included by default. If you run an older version it must be installed manually.
-   Python 3.9 or greater

# Install and Setup

## Install

I recommend installing via [pipx](https://github.com/pypa/pipx)

```
pipx install obs-waykey
```

If you want a specific version you can grab the `.vhl` from the [releases page](https://github.com/PolyCatDev/obs-waykey/releases) and install it with pipx

```
pipx install <file-name>
```

## Setup

ATTENTION: WebSocket authentication must be disabled for this script to work.

You can find it under `Tools > WebSocket Server Settings > Enable Authentication`.

1. Go to your Desktop settings (or WM config file)
2. Go to where you configure keybinds
3. Add a new custom keybind
4. Name it what you want
5. Use the command `obs-waykey <toggle>`
6. Set your keybind

### Here's how mine looks

![my keybind](https://github.com/PolyCatDev/obs-waykey/blob/main/.github/toggle-rec-config.png)

## Toggles

1. `toggle-rec`
2. `toggle-rec-pause`

# Build from source

ATTENTION: This project was built with [poetry](https://python-poetry.org/) in mind.

1. Clone the repo

```
git clone https://github.com/PolyCatDev/obs-waykey.git && \
cd obs-waykey
```

2. Setup enviroment

```
python3 -m venv .venv && \
source .venv/bin/activate
```

3. Install dependencies

```
pip install poetry && \
poetry install
```

4. Build the package

```
poetry build
```

# To do

-   [ ] Add more toggles
-   [ ] Password Support
-   [ ] Alternative IP support
-   [ ] Alternative port support

