Compare commits

...

2 Commits

Author SHA1 Message Date
9ded3dfdc6 update rationale section in readme 2023-11-10 11:59:23 -05:00
a4886c8ae6 systemd unit file 2023-11-10 11:55:38 -05:00
3 changed files with 29 additions and 5 deletions

View File

@@ -11,7 +11,7 @@ See [Op](src/main/kotlin/net/eksb/obsdc/Op.kt) for a list of operations.
## Configuration
Configuration is in `$XDG_CONFIG_HOME/net.eksb.obsdc/config.properties`
Configuration is read from `$XDG_CONFIG_HOME/net.eksb.obsdc/config.properties`
### Configuration options
@@ -19,6 +19,15 @@ Configuration is in `$XDG_CONFIG_HOME/net.eksb.obsdc/config.properties`
* `port` - OBS websocket port (default: `4455`)
* `password` - OBS websocket password (required)
### systemd
A systemd unit file ([obsdc.service](src/main/dist/obsdc.service)) is included.
1. Copy the file to `~/.config/systemd/user/`.
2. Edit the `ExecStart` line for where you have installed obsdc.
3. `systemctl --user enable obsdc`
4. `systemctl --user start obsdc`
## Build
`gradle build`
@@ -49,9 +58,13 @@ using an `Obs`.
I usually code on a 4k monitor in portrait mode. To show what I am doing on video calls,
I use OBS to share that monitor, but it is a 2160x4096 source in a 1920x1080 scene.
I have [a macropad](https://www.keebmonkey.com/products/megalodon-dual-layer-knob-macro-pad) with two knobs.
My [window manager](https://swaywm.org/) is configured to call `obsdc-signal` with `PAN_UP`/`PAN_DOWN` for the
keys emitted by one knob and `PAN_RIGHT`/`PAN_LEFT` for the keys emitted by the other knob.
I have
[a macropad](https://keeb.io/collections/bdn9-collection/products/bdn9-rev-2-3x3-9-key-macropad-rotary-encoder-and-rgb)
with three knobs.
My [window manager](https://swaywm.org/) is configured to call `obsdc-signal` with
`PAN_UP`/`PAN_DOWN` for the keys emitted by the left knob,
`PAN_RIGHT`/`PAN_LEFT` for the keys emitted by the right knob, and
`SCENE_NEXT`/`SCENE_PREV` for the keys emitted by the center knob.
The regular keys on the macropad are mapped to the other actions.
So now I can quickly control what people can see without having to focus (or even make visible) the OBS window.
So now I can quickly control what people can see without having to focus (or even make visible) the OBS window.

10
src/main/dist/obsdc.service vendored Normal file
View File

@@ -0,0 +1,10 @@
[Unit]
Description=OBSDC
[Service]
Type=dbus
BusName=net.eksb.obsdc
ExecStart=/opt/obsdc/bin/obsdc
[Install]
WantedBy=default.target

View File

@@ -1 +1,2 @@
org.slf4j.simpleLogger.log.net.eksb=debug
org.slf4j.simpleLogger.log.org.freedesktop.dbus=debug