From 199101b29484fe966732c04d343f59db55d73282 Mon Sep 17 00:00:00 2001 From: fred Date: Thu, 15 Jan 2026 09:54:09 -0800 Subject: [PATCH] fix readme image --- README.md | 13 ++++++++++--- images/beelink.jpg | Bin 0 -> 29537 bytes 2 files changed, 10 insertions(+), 3 deletions(-) create mode 100644 images/beelink.jpg diff --git a/README.md b/README.md index d4846ab..d5da147 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ - ## Overview: + This project is designed to control a home theater PC (HTPC) with a pepper jobs remote control. The buttons on the remote control are hard coded to common windows shortcuts, depending on the desktop environment some of these will work as generic shortcuts in linux out of the box, but this project aims to expand their functionality and provide custom commands based on the application that has focus. @@ -12,7 +12,7 @@ Another goal of this project is to simplify modifications by allowing easy custo Beelink Ser5 Mini PC - + Pepper Jobs Remote @@ -27,24 +27,28 @@ The computer could be anything, the hardware requirements are what you want to d The cec adapter is optional, but allows the computer to turn the tv on and off via software which is mapped to the power button on the remote. It is also not necessary if running on a raspberry pi since cec is built into the hardware. ### OS: + I am running EndeavourOS on the computer, but this could be any linux distro with the following software installed. ### Software: + #### required: + Xorg
xfce4
xdotool
wmctrl
#### optional: + libcec # for cec controls
kodi
freetube
spotify
\# other apps etc...
- ### How it works: + 1. The button combos that are hardcoded on the remote are mapped as keyboard shortcuts in xfce to run the buttons.sh script with the button name as $1 when pressed 2. buttons.sh runs get_active_window.sh to find what program is active 3. It then looks for this program in the scripts in the app folder and initializes it if it finds it @@ -52,6 +56,7 @@ spotify
5. If it does not find the button it will look for the button in apps/default_commands.sh and run it if it finds it ### Notes: + find_or_open.sh will check running programs, if what it is looking for is running already it will give it focus, if it is not it will launch the program. When possible I am using commands that will preform the desired actions in the specified software. If that is not possible instead I simulate key presses using xdotool to use keyboard shortcuts provided by the application. @@ -67,6 +72,7 @@ close is alt+f4,>br? tab is tab. Additionally, in xfce config, cycle_windows_key is remapped to just tab instead of standard alt + tab, so this button can be used to cycle through open programs. ### Button Names: + \# if no comment the name matches the word(s) on the remote
sleep, # power
main,
@@ -91,4 +97,5 @@ split_left, # bottom row right middle
split_right, # bottom row right
#### Future Plans: + In the future I plan to migrate this project to Nixos diff --git a/images/beelink.jpg b/images/beelink.jpg new file mode 100644 index 0000000000000000000000000000000000000000..879757fed8476883209a728362c43fd8f718554a GIT binary patch literal 29537 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