diff --git a/projects/ROCKNIX/devices/SM8550/filesystem/usr/lib/udev/hwdb.d/10-ayaneo.hwdb b/projects/ROCKNIX/devices/SM8550/filesystem/usr/lib/udev/hwdb.d/10-ayaneo.hwdb deleted file mode 100644 index 3adef1dad6..0000000000 --- a/projects/ROCKNIX/devices/SM8550/filesystem/usr/lib/udev/hwdb.d/10-ayaneo.hwdb +++ /dev/null @@ -1,8 +0,0 @@ -evdev:name:AYANEO Controller* - KEYBOARD_KEY_90001=btn_east # was btn_south - KEYBOARD_KEY_90002=btn_south # was btn_east - -evdev:name:AYANEO DEVICE* - KEYBOARD_KEY_70068=volumeup - KEYBOARD_KEY_70069=volumedown - KEYBOARD_KEY_70073=mode diff --git a/projects/ROCKNIX/devices/SM8550/options b/projects/ROCKNIX/devices/SM8550/options index 46a260a7b6..6573b97ac7 100644 --- a/projects/ROCKNIX/devices/SM8550/options +++ b/projects/ROCKNIX/devices/SM8550/options @@ -61,7 +61,7 @@ # for a list of additional drivers see packages/linux-drivers # Space separated list is supported, # e.g. ADDITIONAL_DRIVERS="DRIVER1 DRIVER2" - ADDITIONAL_DRIVERS="" + ADDITIONAL_DRIVERS="unified-joypad" # Additional Firmware to use ( ) # Space separated list is supported, diff --git a/projects/ROCKNIX/devices/SM8550/patches/linux/0212_arm64--dts--qcom--Add-AYANEO-Pocket-DMG.patch b/projects/ROCKNIX/devices/SM8550/patches/linux/0212_arm64--dts--qcom--Add-AYANEO-Pocket-DMG.patch index 909a547b20..be593b93be 100644 --- a/projects/ROCKNIX/devices/SM8550/patches/linux/0212_arm64--dts--qcom--Add-AYANEO-Pocket-DMG.patch +++ b/projects/ROCKNIX/devices/SM8550/patches/linux/0212_arm64--dts--qcom--Add-AYANEO-Pocket-DMG.patch @@ -1,10 +1,11 @@ -diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts ---- linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts 1970-01-01 00:00:00.000000000 +0000 -+++ linux/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts 2025-02-26 13:52:56.398992835 +0000 -@@ -0,0 +1,55 @@ +diff --git a/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts +new file mode 100644 +index 000000000000..e4e7e4138a15 +--- /dev/null ++++ b/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts +@@ -0,0 +1,93 @@ +// SPDX-License-Identifier: BSD-3-Clause +/* -+ * Copyright (c) 2025, Teguh Sobirin. + * Copyright (c) 2025, ROCKNIX (https://github.com/ROCKNIX) + */ + @@ -17,6 +18,45 @@ diff -rupbN linux.orig/arch/arm64/boot/dts/qcom/qcs8550-ayaneo-pocketdmg.dts lin + qcom,board-id = <0x1000b 0x01>; + qcom,msm-id = <0x258 0x20000>, <0x259 0x20000>; + compatible = "ayaneo,pocketdmg", "qcom,qcs8550", "qcom,sm8550"; ++ ++ rocknix_unified_joypad { ++ compatible = "rocknix,unified-joypad"; ++ ++ target-device-names = "AYANEO DEVICE", ++ "AYANEO DEVICE", ++ "AYANEO Controller"; ++ ++ virtual-device-name = "ROCKNIX Unified Joypad"; ++ virtual-vendor-id = <0x0fff>; ++ virtual-product-id = <0x0fff>; ++ virtual-version-id = <0x9001>; ++ ++ ignore-events = ; // Ignore R2 axis ++ ++ remaps { ++ remap_1 { ++ target-device-name = "AYANEO Controller"; ++ target-device-phys = "usb-0001:01:00.0-2/input0"; ++ ++ key-remaps = < ++ 304 0x131 // BTN_SOUTH -> BTN_EAST ++ 305 0x130 // KEY_EAST -> BTN_SOUTH ++ >; ++ }; ++ ++ remap_2 { ++ target-device-name = "AYANEO DEVICE"; ++ target-device-phys = "usb-0001:01:00.0-1/input1"; ++ ++ key-remaps = < ++ 183 115 // KEY_F13 -> KEY_VOLUMEUP ++ 184 114 // KEY_F14 -> KEY_VOLUMEDOWN ++ 194 0x13c // KEY_F24 -> BTN_MODE ++ >; ++ }; ++ }; ++ }; +}; + +&tlmm { diff --git a/projects/ROCKNIX/packages/apps/gamecontrollerdb/config/gamecontrollerdb.txt b/projects/ROCKNIX/packages/apps/gamecontrollerdb/config/gamecontrollerdb.txt index e125ced22c..b0e443f2aa 100644 --- a/projects/ROCKNIX/packages/apps/gamecontrollerdb/config/gamecontrollerdb.txt +++ b/projects/ROCKNIX/packages/apps/gamecontrollerdb/config/gamecontrollerdb.txt @@ -20,4 +20,5 @@ 1900f6a24b480000df14000000010000,H700 Gamepad,platform:Linux,x:b3,a:b1,b:b0,y:b2,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:b6,rightshoulder:b5,righttrigger:b7,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3, 0300b605202000000130000001000000,AYN Odin2 Gamepad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b6,guide:b8,start:b7,dpleft:b13,dpdown:b12,dpright:b14,dpup:b11,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, 1900365541594e204f64696e20476100,AYN Odin Gamepad,platform:Linux,x:b2,a:b1,b:b0,y:b3,back:b8,guide:b10,start:b9,dpleft:b15,dpdown:b14,dpright:b16,dpup:b13,leftshoulder:b4,lefttrigger:a5,rightshoulder:b5,righttrigger:a4,leftstick:b11,rightstick:b12,leftx:a0,lefty:a1,rightx:a2,righty:a3, +060003bdff0f0000ff0f000001900000,ROCKNIX Unified Joypad,platform:Linux,x:b3,a:b1,b:b0,y:b4,back:b10,guide:b12,start:b11,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b6,lefttrigger:b8,rightshoulder:b7,righttrigger:b9,leftstick:b13,rightstick:b14,leftx:a0,lefty:a1,rightx:a2,righty:a3, 030081b85e0400008e02000000020000,Xbox 360 Controller,platform:Linux,x:b2,a:b0,b:b1,y:b3,back:b6,guide:b8,start:b7,dpleft:h0.8,dpdown:h0.4,dpright:h0.2,dpup:h0.1,leftshoulder:b4,lefttrigger:a2,rightshoulder:b5,righttrigger:a5,leftstick:b9,rightstick:b10,leftx:a0,lefty:a1,rightx:a3,righty:a4, diff --git a/projects/ROCKNIX/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/AYANEO Controller.cfg b/projects/ROCKNIX/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/AYANEO Controller.cfg new file mode 100644 index 0000000000..6f17d9cbf2 --- /dev/null +++ b/projects/ROCKNIX/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/AYANEO Controller.cfg @@ -0,0 +1,2 @@ +input_driver = "udev" +input_device = "AYANEO Controller" diff --git a/projects/ROCKNIX/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/ROCKNIX Unified Joypad.cfg b/projects/ROCKNIX/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/ROCKNIX Unified Joypad.cfg new file mode 100644 index 0000000000..0255007916 --- /dev/null +++ b/projects/ROCKNIX/packages/emulators/libretro/retroarch/retroarch-joypads/gamepads/ROCKNIX Unified Joypad.cfg @@ -0,0 +1,42 @@ +input_driver = "udev" +input_device = "ROCKNIX Unified Joypad" + +input_b_btn = "0" +input_y_btn = "3" +input_select_btn = "4" +input_start_btn = "6" +input_up_btn = "11" +input_down_btn = "12" +input_left_btn = "13" +input_right_btn = "14" +input_a_btn = "1" +input_x_btn = "2" +input_l_btn = "9" +input_r_btn = "10" +input_l2_axis = "+4" +input_r2_axis = "+5" +input_l3_btn = "7" +input_r3_btn = "8" +input_l_x_plus_axis = "+0" +input_l_x_minus_axis = "-0" +input_l_y_plus_axis = "+1" +input_l_y_minus_axis = "-1" +input_r_x_plus_axis = "+2" +input_r_x_minus_axis = "-2" +input_r_y_plus_axis = "+3" +input_r_y_minus_axis = "-3" + +# Hotkeys +input_enable_hotkey_btn = "5" +input_exit_emulator_btn = "6" + +input_menu_toggle_btn = "2" +input_fps_toggle_btn = "3" +input_screenshot_btn = "1" +input_reset_btn = "0" + +input_load_state_btn = "9" +input_save_state_btn = "10" + +input_rewind_axis = "+4" +input_toggle_fast_forward_axis = "+5" diff --git a/projects/ROCKNIX/packages/ui/emulationstation/config/common/es_input.cfg b/projects/ROCKNIX/packages/ui/emulationstation/config/common/es_input.cfg index 0345a20ba4..925226bf4b 100644 --- a/projects/ROCKNIX/packages/ui/emulationstation/config/common/es_input.cfg +++ b/projects/ROCKNIX/packages/ui/emulationstation/config/common/es_input.cfg @@ -1758,4 +1758,31 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + +