SkyEmu: add hotkey support

This commit is contained in:
rocknix
2025-09-25 23:21:58 +00:00
parent 0582213a21
commit 3d49907a52
5 changed files with 58 additions and 0 deletions

View File

@@ -0,0 +1,31 @@
back = \\
start = \\
a = \\
b = \\
x = \\
y = \\
l1 = \\
l1_hk = l
l2 = \\
l2_hk = m
l3 = \\
r1 = \\
r1_hk = s
r2 = \\
r2_hk = f
r3 = mouse_left
up = \\
down = \\
left = \\
right = \\
left_analog_up = \\
left_analog_down = \\
left_analog_left = \\
left_analog_right = \\
right_analog_up = mouse_movement_up
right_analog_down = mouse_movement_down
right_analog_left = mouse_movement_left
right_analog_right = mouse_movement_right
deadzone_triggers = 3000
mouse_scale = 6128
mouse_delay = 16

View File

@@ -9,6 +9,7 @@ PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz"
PKG_LONGDESC="SkyEmu is a low level GameBoy, GameBoy Color, Game Boy Advance, and DS emulator."
PKG_DEPENDS_TARGET="toolchain SDL2 openssl curl"
PKG_TOOLCHAIN="cmake"
PKG_PATCH_DIRS+="${DEVICE}"
pre_configure_target() {
PKG_CMAKE_OPTS_TARGET+=" -DCMAKE_BUILD_TYPE=Release \

View File

@@ -0,0 +1,13 @@
diff --git a/src/main.c b/src/main.c
index d02b0462..c78f9404 100644
--- a/src/main.c
+++ b/src/main.c
@@ -5689,7 +5689,7 @@ void se_set_default_controller_binds(se_controller_state_t* cont){
cont->key.bound_id[SE_KEY_START]= se_get_sdl_key_bind(gc,SDL_CONTROLLER_BUTTON_START,SE_JOY_POS_MASK);
cont->key.bound_id[SE_KEY_SELECT]= se_get_sdl_key_bind(gc,SDL_CONTROLLER_BUTTON_BACK,SE_JOY_POS_MASK);
- cont->key.bound_id[SE_KEY_EMU_PAUSE] = se_get_sdl_key_bind(gc,SDL_CONTROLLER_BUTTON_GUIDE,SE_JOY_POS_MASK);
+ cont->key.bound_id[SE_KEY_EMU_PAUSE] = se_get_sdl_key_bind(gc,SDL_CONTROLLER_BUTTON_MISC1,SE_JOY_POS_MASK);
cont->key.bound_id[SE_KEY_EMU_REWIND] = se_get_sdl_key_bind(gc,SDL_CONTROLLER_BUTTON_PADDLE1,SE_JOY_POS_MASK);
cont->key.bound_id[SE_KEY_EMU_FF_2X] = se_get_sdl_key_bind(gc,SDL_CONTROLLER_BUTTON_PADDLE2,SE_JOY_POS_MASK);
cont->key.bound_id[SE_KEY_EMU_FF_MAX] = se_get_sdl_key_bind(gc,SDL_CONTROLLER_BUTTON_PADDLE3,SE_JOY_POS_MASK);

View File

@@ -6,6 +6,11 @@
. /etc/profile
set_kill set "-9 SkyEmu"
#load gptokeyb support files
control-gen_init.sh
source /storage/.config/gptokeyb/control.ini
get_controls
#Check if SkyEmu dir exists in .config
if [ ! -d "/storage/.config/SkyEmu" ]; then
cp -rf "/usr/config/SkyEmu" "/storage/.config/"
@@ -16,6 +21,11 @@ if [ ! -d "/storage/roms/savestates/SkyEmu" ]; then
mkdir "/storage/roms/savestates/SkyEmu"
fi
#Make sure SkyEmu gptk config exists
if [ ! -f "/storage/.config/SkyEmu/SkyEmu.gptk" ]; then
cp -r "/usr/config/SkyEmu/SkyEmu.gptk" "/storage/.config/SkyEmu/SkyEmu.gptk"
fi
# Link .config/dolphin-emu to .local
rm -rf /storage/.local/share/Sky/SkyEmu
ln -sf /storage/.config/SkyEmu /storage/.local/share/Sky/SkyEmu
@@ -40,4 +50,7 @@ else
unset EMUPERF
fi
# Run SkyEmu
$GPTOKEYB "SkyEmu" -c "/storage/.config/SkyEmu/SkyEmu.gptk" &
${EMUPERF} /usr/bin/SkyEmu "${1}"
kill -9 "$(pidof gptokeyb)"