From 770c64016d27aab2473911dc3fcf610346495086 Mon Sep 17 00:00:00 2001 From: sydarn Date: Sat, 22 Aug 2026 23:21:55 +0200 Subject: [PATCH 1/3] inputplumber: build from source with invert patch --- .../packages/tools/inputplumber/package.mk | 21 +- .../inputplumber/patches/invert-option.patch | 293 ++++++++++++++++++ .../lib/systemd/system/inputplumber.service | 0 3 files changed, 310 insertions(+), 4 deletions(-) create mode 100644 projects/ROCKNIX/packages/tools/inputplumber/patches/invert-option.patch rename projects/ROCKNIX/packages/tools/inputplumber/sources/{ => rootfs}/usr/lib/systemd/system/inputplumber.service (100%) diff --git a/projects/ROCKNIX/packages/tools/inputplumber/package.mk b/projects/ROCKNIX/packages/tools/inputplumber/package.mk index 99b125fec4d..21aaff76119 100644 --- a/projects/ROCKNIX/packages/tools/inputplumber/package.mk +++ b/projects/ROCKNIX/packages/tools/inputplumber/package.mk @@ -2,17 +2,30 @@ # Copyright (C) 2025 ROCKNIX (https://github.com/ROCKNIX) PKG_NAME="inputplumber" -PKG_VERSION="v0.75.2" +PKG_VERSION="0.78.0" PKG_LICENSE="GPLv3" PKG_SITE="https://github.com/ShadowBlip/InputPlumber" -PKG_URL="https://github.com/ShadowBlip/InputPlumber/releases/download/${PKG_VERSION}/inputplumber-aarch64.tar.gz" -PKG_DEPENDS_TARGET="toolchain systemd libevdev libiio polkit" +PKG_URL="${PKG_SITE}/archive/refs/tags/v${PKG_VERSION}.tar.gz" +PKG_DEPENDS_TARGET="toolchain cargo:host cargo rust llvm:host systemd libevdev libiio polkit" PKG_LONGDESC="Open source input router and remapper daemon for Linux" PKG_TOOLCHAIN="manual" +make_target() { + export LIBCLANG_PATH=${TOOLCHAIN}/lib + export LD_LIBRARY_PATH=${TOOLCHAIN}/lib:${LD_LIBRARY_PATH} + export BINDGEN_EXTRA_CLANG_ARGS="--sysroot=${SYSROOT_PREFIX} -isystem ${SYSROOT_PREFIX}/usr/include" + + cargo build \ + --target ${TARGET_NAME} \ + --release +} + makeinstall_target() { + mkdir -p ${INSTALL}/usr/bin + cp ${PKG_BUILD}/.${TARGET_NAME}/target/${TARGET_NAME}/release/inputplumber ${INSTALL}/usr/bin/ + mkdir -p ${INSTALL}/usr - rsync -ar ${PKG_BUILD}/usr/ ${INSTALL}/usr/ + rsync -ar ${PKG_BUILD}/rootfs/usr/ ${INSTALL}/usr/ } post_install() { diff --git a/projects/ROCKNIX/packages/tools/inputplumber/patches/invert-option.patch b/projects/ROCKNIX/packages/tools/inputplumber/patches/invert-option.patch new file mode 100644 index 00000000000..b863008144a --- /dev/null +++ b/projects/ROCKNIX/packages/tools/inputplumber/patches/invert-option.patch @@ -0,0 +1,293 @@ +From 5c429e142ec41af64142e11e13dbf118a49361eb Mon Sep 17 00:00:00 2001 +From: honjow +Date: Sat, 28 Mar 2026 04:23:20 +0800 +Subject: [PATCH 1/4] fix: correct unsigned axis normalization and add inverted + option + +- normalize_unsigned_value now accounts for min offset: (value - min) / (max - min) +- denormalize_unsigned_value updated accordingly +- Add `inverted` field to EvdevConfig for capability maps, allowing + axes with reversed hardware polarity (e.g. ADC triggers) to be + properly mapped without device tree changes +--- + .../schema/capability_map_v2.json | 5 +++++ + src/config/capability_map/evdev.rs | 4 ++++ + src/input/event/evdev.rs | 21 ++++++++++++------- + src/input/event/evdev/translator.rs | 17 ++++++++++----- + 4 files changed, 34 insertions(+), 13 deletions(-) + +diff --git a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +index 38d21393..ebb20fb2 100644 +--- a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json ++++ b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +@@ -268,6 +268,11 @@ + "maximum": 65535, + "minimum": 0 + }, ++ "inverted": { ++ "description": "If true, invert the axis value. For triggers (0.0~1.0), this applies 1.0 - value. For joystick axes (-1.0~1.0), this negates the value.", ++ "type": "boolean", ++ "default": false ++ }, + "value_type": { + "$ref": "#/$defs/ValueType" + } +diff --git a/src/config/capability_map/evdev.rs b/src/config/capability_map/evdev.rs +index 12a7435d..b96d8108 100644 +--- a/src/config/capability_map/evdev.rs ++++ b/src/config/capability_map/evdev.rs +@@ -10,6 +10,10 @@ pub struct EvdevConfig { + pub event_value: Option, + pub value_type: ValueType, + pub axis_direction: Option, ++ /// If true, invert the axis value. For triggers (0.0~1.0), this applies ++ /// `1.0 - value`. For joystick axes (-1.0~1.0), this negates the value. ++ #[serde(default)] ++ pub inverted: bool, + } + + #[derive(Debug, Deserialize, Serialize, Clone, JsonSchema, PartialEq)] + /// The AxisDirection is used to determine if a button value should be mapped +diff --git a/src/input/event/evdev/translator.rs b/src/input/event/evdev/translator.rs +index 465f6dc3..bb406fe7 100644 +--- a/src/input/event/evdev/translator.rs ++++ b/src/input/event/evdev/translator.rs +@@ -251,7 +251,7 @@ impl EventTranslator { + } + + // Normalize the input value +- let value = self.get_input_value(event, &evdev_config.value_type); ++ let value = self.get_input_value(event, &evdev_config.value_type, evdev_config.inverted); + log::trace!( + "Translated value {:?} {} to {:?}", + event.code(), +@@ -447,8 +447,15 @@ impl EventTranslator { + } + + /// Returns the normalized value of the event expressed as an [InputValue]. +- fn get_input_value(&self, event: &InputEvent, value_type: &ValueType) -> InputValue { +- let normal_value = self.get_normalized_value(event, value_type); ++ fn get_input_value(&self, event: &InputEvent, value_type: &ValueType, inverted: bool) -> InputValue { ++ let mut normal_value = self.get_normalized_value(event, value_type); ++ ++ if inverted { ++ normal_value = match value_type { ++ ValueType::Trigger | ValueType::Button => 1.0 - normal_value, ++ _ => -normal_value, ++ }; ++ } + + match value_type { + ValueType::Button => { +From 2c14a2ee7c2dce61bdb41d2264599a121ebbcb2c Mon Sep 17 00:00:00 2001 +From: honjow +Date: Mon, 30 Mar 2026 05:53:42 +0800 +Subject: [PATCH 2/4] refactor(CapabilityMap): rename inverted to invert for + consistency + +--- + rootfs/usr/share/inputplumber/schema/capability_map_v2.json | 4 ++-- + src/config/capability_map/evdev.rs | 6 +++--- + src/input/event/evdev/translator.rs | 2 +- + 3 files changed, 6 insertions(+), 6 deletions(-) + +diff --git a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +index ebb20fb2..f7f3ddcf 100644 +--- a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json ++++ b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +@@ -268,8 +268,8 @@ + "maximum": 65535, + "minimum": 0 + }, +- "inverted": { +- "description": "If true, invert the axis value. For triggers (0.0~1.0), this applies 1.0 - value. For joystick axes (-1.0~1.0), this negates the value.", ++ "invert": { ++ "description": "If true, invert the axis value. For triggers (0.0 to 1.0), this applies 1.0 - value. For joystick axes (-1.0 to 1.0), this negates the value.", + "type": "boolean", + "default": false + }, +diff --git a/src/config/capability_map/evdev.rs b/src/config/capability_map/evdev.rs +index b96d8108..0526fb56 100644 +--- a/src/config/capability_map/evdev.rs ++++ b/src/config/capability_map/evdev.rs +@@ -10,10 +10,10 @@ pub struct EvdevConfig { + pub event_value: Option, + pub value_type: ValueType, + pub axis_direction: Option, +- /// If true, invert the axis value. For triggers (0.0~1.0), this applies +- /// `1.0 - value`. For joystick axes (-1.0~1.0), this negates the value. ++ /// If true, invert the axis value. For triggers (0.0 to 1.0), this applies ++ /// `1.0 - value`. For joystick axes (-1.0 to 1.0), this negates the value. + #[serde(default)] +- pub inverted: bool, ++ pub invert: bool, + } + + #[derive(Debug, Deserialize, Serialize, Clone, JsonSchema, PartialEq)] +diff --git a/src/input/event/evdev/translator.rs b/src/input/event/evdev/translator.rs +index bb406fe7..66b56b7b 100644 +--- a/src/input/event/evdev/translator.rs ++++ b/src/input/event/evdev/translator.rs +@@ -251,7 +251,7 @@ impl EventTranslator { + } + + // Normalize the input value +- let value = self.get_input_value(event, &evdev_config.value_type, evdev_config.inverted); ++ let value = self.get_input_value(event, &evdev_config.value_type, evdev_config.invert); + log::trace!( + "Translated value {:?} {} to {:?}", + event.code(), + +From 19682eba5e25ec6ef103e833990f17e491861f89 Mon Sep 17 00:00:00 2001 +From: honjow +Date: Wed, 1 Apr 2026 09:02:14 +0800 +Subject: [PATCH 3/4] refactor(CapabilityMap): remove invert option from evdev + source config + +Remove the invert field added to EvdevConfig as it is out of scope for +the unsigned axis normalization fix and overlaps with existing invert +support in PR #534. +--- + .../inputplumber/schema/capability_map_v2.json | 5 ----- + src/config/capability_map/evdev.rs | 4 ---- + src/input/event/evdev/translator.rs | 13 +++---------- + 3 files changed, 3 insertions(+), 19 deletions(-) + +diff --git a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +index f7f3ddcf..38d21393 100644 +--- a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json ++++ b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +@@ -268,11 +268,6 @@ + "maximum": 65535, + "minimum": 0 + }, +- "invert": { +- "description": "If true, invert the axis value. For triggers (0.0 to 1.0), this applies 1.0 - value. For joystick axes (-1.0 to 1.0), this negates the value.", +- "type": "boolean", +- "default": false +- }, + "value_type": { + "$ref": "#/$defs/ValueType" + } +diff --git a/src/config/capability_map/evdev.rs b/src/config/capability_map/evdev.rs +index 0526fb56..12a7435d 100644 +--- a/src/config/capability_map/evdev.rs ++++ b/src/config/capability_map/evdev.rs +@@ -10,10 +10,6 @@ pub struct EvdevConfig { + pub event_value: Option, + pub value_type: ValueType, + pub axis_direction: Option, +- /// If true, invert the axis value. For triggers (0.0 to 1.0), this applies +- /// `1.0 - value`. For joystick axes (-1.0 to 1.0), this negates the value. +- #[serde(default)] +- pub invert: bool, + } + + #[derive(Debug, Deserialize, Serialize, Clone, JsonSchema, PartialEq)] +diff --git a/src/input/event/evdev/translator.rs b/src/input/event/evdev/translator.rs +index 66b56b7b..dad3838d 100644 +--- a/src/input/event/evdev/translator.rs ++++ b/src/input/event/evdev/translator.rs +@@ -251,7 +251,7 @@ impl EventTranslator { + } + + // Normalize the input value +- let value = self.get_input_value(event, &evdev_config.value_type, evdev_config.invert); ++ let value = self.get_input_value(event, &evdev_config.value_type); + log::trace!( + "Translated value {:?} {} to {:?}", + event.code(), +@@ -447,15 +447,8 @@ impl EventTranslator { + } + + /// Returns the normalized value of the event expressed as an [InputValue]. +- fn get_input_value(&self, event: &InputEvent, value_type: &ValueType, inverted: bool) -> InputValue { +- let mut normal_value = self.get_normalized_value(event, value_type); +- +- if inverted { +- normal_value = match value_type { +- ValueType::Trigger | ValueType::Button => 1.0 - normal_value, +- _ => -normal_value, +- }; +- } ++ fn get_input_value(&self, event: &InputEvent, value_type: &ValueType) -> InputValue { ++ let normal_value = self.get_normalized_value(event, value_type); + + match value_type { + ValueType::Button => { + +From 916f2033fe40636814731f941efc84eb42172f97 Mon Sep 17 00:00:00 2001 +From: sydarn +Date: Sat, 2 May 2026 23:06:35 +0200 +Subject: [PATCH 4/4] Revert "refactor(CapabilityMap): remove invert option + from evdev source config" + +This reverts commit 19682eba5e25ec6ef103e833990f17e491861f89. +--- + .../inputplumber/schema/capability_map_v2.json | 5 +++++ + src/config/capability_map/evdev.rs | 4 ++++ + src/input/event/evdev/translator.rs | 13 ++++++++++--- + 3 files changed, 19 insertions(+), 3 deletions(-) + +diff --git a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +index 38d21393..f7f3ddcf 100644 +--- a/rootfs/usr/share/inputplumber/schema/capability_map_v2.json ++++ b/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +@@ -268,6 +268,11 @@ + "maximum": 65535, + "minimum": 0 + }, ++ "invert": { ++ "description": "If true, invert the axis value. For triggers (0.0 to 1.0), this applies 1.0 - value. For joystick axes (-1.0 to 1.0), this negates the value.", ++ "type": "boolean", ++ "default": false ++ }, + "value_type": { + "$ref": "#/$defs/ValueType" + } +diff --git a/src/config/capability_map/evdev.rs b/src/config/capability_map/evdev.rs +index 12a7435d..0526fb56 100644 +--- a/src/config/capability_map/evdev.rs ++++ b/src/config/capability_map/evdev.rs +@@ -10,6 +10,10 @@ pub struct EvdevConfig { + pub event_value: Option, + pub value_type: ValueType, + pub axis_direction: Option, ++ /// If true, invert the axis value. For triggers (0.0 to 1.0), this applies ++ /// `1.0 - value`. For joystick axes (-1.0 to 1.0), this negates the value. ++ #[serde(default)] ++ pub invert: bool, + } + + #[derive(Debug, Deserialize, Serialize, Clone, JsonSchema, PartialEq)] +diff --git a/src/input/event/evdev/translator.rs b/src/input/event/evdev/translator.rs +index dad3838d..66b56b7b 100644 +--- a/src/input/event/evdev/translator.rs ++++ b/src/input/event/evdev/translator.rs +@@ -251,7 +251,7 @@ impl EventTranslator { + } + + // Normalize the input value +- let value = self.get_input_value(event, &evdev_config.value_type); ++ let value = self.get_input_value(event, &evdev_config.value_type, evdev_config.invert); + log::trace!( + "Translated value {:?} {} to {:?}", + event.code(), +@@ -447,8 +447,15 @@ impl EventTranslator { + } + + /// Returns the normalized value of the event expressed as an [InputValue]. +- fn get_input_value(&self, event: &InputEvent, value_type: &ValueType) -> InputValue { +- let normal_value = self.get_normalized_value(event, value_type); ++ fn get_input_value(&self, event: &InputEvent, value_type: &ValueType, inverted: bool) -> InputValue { ++ let mut normal_value = self.get_normalized_value(event, value_type); ++ ++ if inverted { ++ normal_value = match value_type { ++ ValueType::Trigger | ValueType::Button => 1.0 - normal_value, ++ _ => -normal_value, ++ }; ++ } + + match value_type { + ValueType::Button => { diff --git a/projects/ROCKNIX/packages/tools/inputplumber/sources/usr/lib/systemd/system/inputplumber.service b/projects/ROCKNIX/packages/tools/inputplumber/sources/rootfs/usr/lib/systemd/system/inputplumber.service similarity index 100% rename from projects/ROCKNIX/packages/tools/inputplumber/sources/usr/lib/systemd/system/inputplumber.service rename to projects/ROCKNIX/packages/tools/inputplumber/sources/rootfs/usr/lib/systemd/system/inputplumber.service From 49b128849b15339db3a267bc4581e2828c3052c5 Mon Sep 17 00:00:00 2001 From: sydarn Date: Sun, 10 May 2026 16:05:53 +0200 Subject: [PATCH 2/3] RK3566: port to inputplumber and related fixes --- .../capability_maps/anbernic_arc.yaml | 180 +++ .../capability_maps/anbernic_gen1.yaml | 212 ++++ .../capability_maps/anbernic_rgds.yaml | 222 ++++ .../capability_maps/powkiddy.yaml | 213 ++++ .../devices/01-anbernic-gen1.yaml | 76 ++ .../inputplumber/devices/01-powkiddy.yaml | 55 + .../share/inputplumber/devices/01-rg-arc.yaml | 48 + .../share/inputplumber/devices/01-rg-ds.yaml | 45 + .../inputplumber/devices/01-rgb20sx.yaml | 43 + .../dts/rockchip/rk3566-powkiddy-rk2023.dtsi | 264 ++--- .../dts/rockchip/rk3568-anbernic-rg-ds.dts | 322 ++++-- projects/ROCKNIX/devices/RK3566/options | 5 +- ...dts-rockchip-fixup-anbernic-controls.patch | 1021 +---------------- ...ip-fix-shoulders-triggers-on-powkidd.patch | 62 +- ...ip-add-device-tree-for-powkiddy-rgb2.patch | 14 +- .../0036-disable-rgds-ohci-for-sleep.patch | 0 projects/ROCKNIX/devices/RK3576/options | 3 + .../packages/apps/gamepadtester/package.mk | 13 +- .../retroarch/sources/RK3566/retroarch.cfg | 6 +- .../standalone/aethersx2-sa/config/RK3566 | 1 + .../config/RK3566/aethersx2/inis/PCSX2.ini | 448 -------- .../standalone/azahar-sa/config/RK3566 | 1 + .../azahar-sa/config/RK3566/qt-config.ini | 725 ------------ .../standalone/duckstation-sa/config/RK3566 | 1 + .../duckstation-sa/config/RK3566/settings.ini | 242 ---- .../mupen64plus-sa-input-sdl/config/RK3566 | 1 + .../config/RK3566/default.ini | 51 - .../config/RK3566/zlswap.ini | 25 - .../scripts/start_yabasanshiro.sh | 2 +- projects/ROCKNIX/packages/linux/package.mk | 1 + ...t-api-changes-needed-for-joypad-driv.patch | 435 +++++++ .../0002-input-add-input-polldev-driver.patch | 0 ...edirect-keycode-316-to-rocknix-joypa.patch | 0 .../ROCKNIX/packages/misc/modules/package.mk | 2 +- 34 files changed, 1935 insertions(+), 2804 deletions(-) create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_arc.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_gen1.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_rgds.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/powkiddy.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-anbernic-gen1.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-powkiddy.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-arc.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-ds.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rgb20sx.yaml create mode 100644 projects/ROCKNIX/devices/RK3566/patches/linux/0036-disable-rgds-ohci-for-sleep.patch create mode 120000 projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566 delete mode 100644 projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566/aethersx2/inis/PCSX2.ini create mode 120000 projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566 delete mode 100644 projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566/qt-config.ini create mode 120000 projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566 delete mode 100644 projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566/settings.ini create mode 120000 projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566 delete mode 100644 projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/default.ini delete mode 100644 projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/zlswap.ini create mode 100644 projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0001-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch rename projects/ROCKNIX/packages/linux/patches/{mainline => rocknix-joypad}/0002-input-add-input-polldev-driver.patch (100%) rename projects/ROCKNIX/packages/linux/patches/{mainline => rocknix-joypad}/0004-input-adc-keys-redirect-keycode-316-to-rocknix-joypa.patch (100%) diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_arc.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_arc.yaml new file mode 100644 index 00000000000..6cfc49bbf4a --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_arc.yaml @@ -0,0 +1,180 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +version: 2 + +kind: CapabilityMap + +name: Anbernic RG Arc map +id: anbernic_arc + +mapping: + - name: South Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_EAST + value_type: button + target_event: + gamepad: + button: South + + - name: East Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SOUTH + value_type: button + target_event: + gamepad: + button: East + + - name: North Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_NORTH + value_type: button + target_event: + gamepad: + button: North + + - name: West Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_WEST + value_type: button + target_event: + gamepad: + button: West + + - name: Start Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_START + value_type: button + target_event: + gamepad: + button: Start + + - name: Select Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SELECT + value_type: button + target_event: + gamepad: + button: Select + + - name: Left Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL + value_type: button + target_event: + gamepad: + button: LeftBumper + + - name: Right Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR + value_type: button + target_event: + gamepad: + button: RightBumper + + - name: Left Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL2 + value_type: trigger + target_event: + gamepad: + trigger: + name: LeftTrigger + + - name: Right Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR2 + value_type: trigger + target_event: + gamepad: + trigger: + name: RightTrigger + + - name: Left Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_Z + value_type: button + target_event: + gamepad: + button: LeftStick + + - name: Right Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_C + value_type: button + target_event: + gamepad: + button: RightStick + + - name: Dpad Up + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_UP + value_type: button + target_event: + gamepad: + button: DPadUp + + - name: Dpad Down + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_DOWN + value_type: button + target_event: + gamepad: + button: DPadDown + + - name: Dpad Left + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_LEFT + value_type: button + target_event: + gamepad: + button: DPadLeft + + - name: Dpad Right + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_RIGHT + value_type: button + target_event: + gamepad: + button: DPadRight + + - name: Guide Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_MODE + value_type: button + target_event: + gamepad: + button: Guide diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_gen1.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_gen1.yaml new file mode 100644 index 00000000000..cf3c5d6ae43 --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_gen1.yaml @@ -0,0 +1,212 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +version: 2 + +kind: CapabilityMap + +name: Anbernic Gen1 map +id: anbernic_gen1 + +mapping: + - name: South Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SOUTH + value_type: button + target_event: + gamepad: + button: South + + - name: East Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_EAST + value_type: button + target_event: + gamepad: + button: East + + - name: North Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_WEST + value_type: button + target_event: + gamepad: + button: North + + - name: West Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_NORTH + value_type: button + target_event: + gamepad: + button: West + + - name: Start Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_START + value_type: button + target_event: + gamepad: + button: Start + + - name: Select Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SELECT + value_type: button + target_event: + gamepad: + button: Select + + - name: Guide Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_MODE + value_type: button + target_event: + gamepad: + button: Guide + + - name: Left Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL + value_type: button + target_event: + gamepad: + button: LeftBumper + + - name: Right Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR + value_type: button + target_event: + gamepad: + button: RightBumper + + - name: Left Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL2 + value_type: trigger + target_event: + gamepad: + trigger: + name: LeftTrigger + + - name: Right Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR2 + value_type: trigger + target_event: + gamepad: + trigger: + name: RightTrigger + + - name: Left Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_THUMBL + value_type: button + target_event: + gamepad: + button: LeftStick + + - name: Right Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_THUMBR + value_type: button + target_event: + gamepad: + button: RightStick + + - name: Dpad Up + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_UP + value_type: button + target_event: + gamepad: + button: DPadUp + + - name: Dpad Down + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_DOWN + value_type: button + target_event: + gamepad: + button: DPadDown + + - name: Dpad Left + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_LEFT + value_type: button + target_event: + gamepad: + button: DPadLeft + + - name: Dpad Right + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_RIGHT + value_type: button + target_event: + gamepad: + button: DPadRight + + - name: Left Stick + source_events: + - evdev: + event_type: ABS + event_code: ABS_X + value_type: joystick_x + - evdev: + event_type: ABS + event_code: ABS_Y + value_type: joystick_y + invert: true + target_event: + gamepad: + axis: + name: LeftStick + + - name: Right Stick + source_events: + - evdev: + event_type: ABS + event_code: ABS_RX + value_type: joystick_x + - evdev: + event_type: ABS + event_code: ABS_RY + value_type: joystick_y + invert: true + target_event: + gamepad: + axis: + name: RightStick diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_rgds.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_rgds.yaml new file mode 100644 index 00000000000..f8810677a8b --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/anbernic_rgds.yaml @@ -0,0 +1,222 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +version: 2 + +kind: CapabilityMap + +name: Anbernic RG DS map +id: anbernic_rgds + +mapping: + - name: South Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SOUTH + value_type: button + target_event: + gamepad: + button: South + + - name: East Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_EAST + value_type: button + target_event: + gamepad: + button: East + + - name: North Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_WEST + value_type: button + target_event: + gamepad: + button: North + + - name: West Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_NORTH + value_type: button + target_event: + gamepad: + button: West + + - name: Start Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_START + value_type: button + target_event: + gamepad: + button: Start + + - name: Select Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SELECT + value_type: button + target_event: + gamepad: + button: Select + + - name: Left Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL + value_type: button + target_event: + gamepad: + button: LeftBumper + + - name: Right Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR + value_type: button + target_event: + gamepad: + button: RightBumper + + - name: Left Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL2 + value_type: trigger + target_event: + gamepad: + trigger: + name: LeftTrigger + + - name: Right Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR2 + value_type: trigger + target_event: + gamepad: + trigger: + name: RightTrigger + + - name: Left Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_THUMBL + value_type: button + target_event: + gamepad: + button: LeftStick + + - name: Right Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_THUMBR + value_type: button + target_event: + gamepad: + button: RightStick + + - name: Dpad Up + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_UP + value_type: button + target_event: + gamepad: + button: DPadUp + + - name: Dpad Down + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_DOWN + value_type: button + target_event: + gamepad: + button: DPadDown + + - name: Dpad Left + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_LEFT + value_type: button + target_event: + gamepad: + button: DPadLeft + + - name: Dpad Right + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_RIGHT + value_type: button + target_event: + gamepad: + button: DPadRight + + - name: F1 Key + source_events: + - evdev: + event_type: KEY + event_code: BTN_BACK + value_type: button + target_event: + gamepad: + button: KeyF1 + + - name: Menu Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_MODE + value_type: button + target_event: + gamepad: + button: Guide + + - name: Left Stick + source_events: + - evdev: + event_type: ABS + event_code: ABS_X + value_type: joystick_x + - evdev: + event_type: ABS + event_code: ABS_Y + value_type: joystick_y + invert: true + target_event: + gamepad: + axis: + name: LeftStick + + - name: Right Stick + source_events: + - evdev: + event_type: ABS + event_code: ABS_RX + value_type: joystick_x + - evdev: + event_type: ABS + event_code: ABS_RY + value_type: joystick_y + invert: true + target_event: + gamepad: + axis: + name: RightStick diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/powkiddy.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/powkiddy.yaml new file mode 100644 index 00000000000..2ccb05fc233 --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/capability_maps/powkiddy.yaml @@ -0,0 +1,213 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/capability_map_v2.json +version: 2 + +kind: CapabilityMap + +# Powkiddy with no adc buttons +name: Powkiddy +id: powkiddy + +mapping: + - name: South Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SOUTH + value_type: button + target_event: + gamepad: + button: South + + - name: East Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_EAST + value_type: button + target_event: + gamepad: + button: East + + - name: North Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_WEST + value_type: button + target_event: + gamepad: + button: North + + - name: West Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_NORTH + value_type: button + target_event: + gamepad: + button: West + + - name: Start Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_START + value_type: button + target_event: + gamepad: + button: Start + + - name: Select Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_SELECT + value_type: button + target_event: + gamepad: + button: Select + + - name: Guide Button + source_events: + - evdev: + event_type: KEY + event_code: BTN_MODE + value_type: button + target_event: + gamepad: + button: Guide + + - name: Left Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL + value_type: button + target_event: + gamepad: + button: LeftBumper + + - name: Right Bumper + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR + value_type: button + target_event: + gamepad: + button: RightBumper + + - name: Left Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TL2 + value_type: trigger + target_event: + gamepad: + trigger: + name: LeftTrigger + + - name: Right Trigger + source_events: + - evdev: + event_type: KEY + event_code: BTN_TR2 + value_type: trigger + target_event: + gamepad: + trigger: + name: RightTrigger + + - name: Left Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_THUMBL + value_type: button + target_event: + gamepad: + button: LeftStick + + - name: Right Stick Click + source_events: + - evdev: + event_type: KEY + event_code: BTN_THUMBR + value_type: button + target_event: + gamepad: + button: RightStick + + - name: Dpad Up + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_UP + value_type: button + target_event: + gamepad: + button: DPadUp + + - name: Dpad Down + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_DOWN + value_type: button + target_event: + gamepad: + button: DPadDown + + - name: Dpad Left + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_LEFT + value_type: button + target_event: + gamepad: + button: DPadLeft + + - name: Dpad Right + source_events: + - evdev: + event_type: KEY + event_code: BTN_DPAD_RIGHT + value_type: button + target_event: + gamepad: + button: DPadRight + + - name: Left Stick + source_events: + - evdev: + event_type: ABS + event_code: ABS_X + value_type: joystick_x + - evdev: + event_type: ABS + event_code: ABS_Y + value_type: joystick_y + invert: true + target_event: + gamepad: + axis: + name: LeftStick + + - name: Right Stick + source_events: + - evdev: + event_type: ABS + event_code: ABS_RX + value_type: joystick_x + - evdev: + event_type: ABS + event_code: ABS_RY + value_type: joystick_y + invert: true + target_event: + gamepad: + axis: + name: RightStick diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-anbernic-gen1.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-anbernic-gen1.yaml new file mode 100644 index 00000000000..eafd3ab5afb --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-anbernic-gen1.yaml @@ -0,0 +1,76 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/composite_device_v1.json +version: 1 + +kind: CompositeDevice + +name: Anbernic RGxx3 + +matches: + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG503 + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG353M + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG353P + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG353PS + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG353V + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG353VS + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Powkiddy RGB20 Pro + + +maximum_sources: 4 + +source_devices: + - group: gamepad + evdev: + name: gpio-keys-control + phys_path: gpio-keys/input0 + handler: event* + capability_map_id: anbernic_gen1 + - group: gamepad + evdev: + name: adc-joystick + handler: event* + capability_map_id: anbernic_gen1 + - group: gamepad + evdev: + name: adc-keys + phys_path: adc-keys/input0 + handler: event* + capability_map_id: anbernic_gen1 + - group: gamepad + evdev: + name: pwm-vibrator + handler: event* + +options: + auto_manage: true + +target_devices: + - ds5 + - keyboard diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-powkiddy.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-powkiddy.yaml new file mode 100644 index 00000000000..c93b522c718 --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-powkiddy.yaml @@ -0,0 +1,55 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/composite_device_v1.json +version: 1 + +kind: CompositeDevice + +name: Powkiddy + +matches: + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Powkiddy RGB10MAX3 + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Powkiddy RK2023 + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Powkiddy RGB30 + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Powkiddy x55 + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Powkiddy x35s + +maximum_sources: 2 + +source_devices: + - group: gamepad + evdev: + name: gpio-keys-control + phys_path: gpio-keys/input0 + handler: event* + capability_map_id: powkiddy + - group: gamepad + evdev: + name: adc-joystick + handler: event* + capability_map_id: powkiddy + +options: + auto_manage: true + +target_devices: + - ds5 + - keyboard diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-arc.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-arc.yaml new file mode 100644 index 00000000000..82a49da2305 --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-arc.yaml @@ -0,0 +1,48 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/composite_device_v1.json +version: 1 + +kind: CompositeDevice + +name: Anbernic RG ARC + +matches: + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG ARC-S + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG ARC-D + + +maximum_sources: 3 +# Only allow a single source device per composite device of this type. +single_source: false + +source_devices: + - group: gamepad + evdev: + name: gpio-keys-control + phys_path: gpio-keys/input0 + handler: event* + capability_map_id: anbernic_arc + - group: gamepad + evdev: + name: adc-keys + phys_path: adc-keys/input0 + handler: event* + capability_map_id: anbernic_arc + - group: gamepad + evdev: + name: pwm-vibrator + handler: event* + +options: + auto_manage: true + +target_devices: + - ds5 + - keyboard diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-ds.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-ds.yaml new file mode 100644 index 00000000000..9a8037d2e23 --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rg-ds.yaml @@ -0,0 +1,45 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/composite_device_v1.json +version: 1 + +kind: CompositeDevice + +name: Anbernic RG DS + +matches: + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Anbernic RG DS + +maximum_sources: 5 + +source_devices: + - group: gamepad + evdev: + name: gpio-keys-control + handler: event8 + capability_map_id: anbernic_rgds + - group: gamepad + evdev: + name: adc-joystick + handler: event7 + capability_map_id: anbernic_rgds + - group: gamepad + evdev: + name: adc-keys-home + handler: event4 + capability_map_id: anbernic_rgds + - group: gamepad + evdev: + name: pwm-vibrator + handler: event0 + + + +options: + auto_manage: true + +target_devices: + - ds5 + - keyboard diff --git a/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rgb20sx.yaml b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rgb20sx.yaml new file mode 100644 index 00000000000..065e910354a --- /dev/null +++ b/projects/ROCKNIX/devices/RK3566/filesystem/usr/share/inputplumber/devices/01-rgb20sx.yaml @@ -0,0 +1,43 @@ +# yaml-language-server: $schema=https://raw.githubusercontent.com/ShadowBlip/InputPlumber/main/rootfs/usr/share/inputplumber/schema/composite_device_v1.json +version: 1 + +kind: CompositeDevice + +name: Powkiddy rgb20sx +# Identical to 1st gen Anbernic, +# but without vibrator +matches: + - udev: + sys_path: /sys/firmware/devicetree/base + attributes: + - name: model + value: Powkiddy RGB20SX + + +maximum_sources: 3 + +source_devices: + - group: gamepad + evdev: + name: gpio-keys-control + phys_path: gpio-keys/input0 + handler: event* + capability_map_id: anbernic_gen1 + - group: gamepad + evdev: + name: adc-joystick + handler: event* + capability_map_id: anbernic_gen1 + - group: gamepad + evdev: + name: adc-keys + phys_path: adc-keys/input0 + handler: event* + capability_map_id: anbernic_gen1 + +options: + auto_manage: true + +target_devices: + - ds5 + - keyboard diff --git a/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3566-powkiddy-rk2023.dtsi b/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3566-powkiddy-rk2023.dtsi index 3d04a333658..b8bae841c25 100644 --- a/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3566-powkiddy-rk2023.dtsi +++ b/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3566-powkiddy-rk2023.dtsi @@ -22,6 +22,60 @@ stdout-path = "serial2:1500000n8"; }; + adc-joystick { + compatible = "adc-joystick"; + io-channels = <&adc_mux 0>, + <&adc_mux 1>, + <&adc_mux 2>, + <&adc_mux 3>; + pinctrl-0 = <&joy_mux_en>; + pinctrl-names = "default"; + poll-interval = <60>; + #address-cells = <1>; + #size-cells = <0>; + + axis@0 { + reg = <0>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <1023 15>; + linux,code = ; + }; + + axis@1 { + reg = <1>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <15 1023>; + linux,code = ; + }; + + axis@2 { + reg = <2>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <15 1023>; + linux,code = ; + }; + + axis@3 { + reg = <3>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <1023 15>; + linux,code = ; + }; + }; + + adc_mux: adc-mux { + compatible = "io-channel-mux"; + channels = "left_x", "right_x", "left_y", "right_y"; + #io-channel-cells = <1>; + io-channels = <&saradc 3>; + io-channel-names = "parent"; + mux-controls = <&gpio_mux>; + settle-time-us = <100>; + }; backlight: backlight { compatible = "pwm-backlight"; power-supply = <&vcc_sys>; @@ -81,159 +135,106 @@ <3400000 0>; }; - joypad: rocknix-singleadc-joypad { - compatible = "rocknix-singleadc-joypad"; - - joypad-name = "retrogame_joypad"; - joypad-product = <0x1101>; - joypad-revision = <0x0100>; - joypad-vendor = <0x484B>; - - status = "okay"; - - /* gpio pincontrol setup */ - pinctrl-names = "default"; + gpio_keys_control: gpio-keys-control { + compatible = "gpio-keys"; pinctrl-0 = <&btn_pins_ctrl>; + pinctrl-names = "default"; - /* Analog mux define */ - io-channel-names = "amux_adc"; - io-channels = <&saradc 3>; + button-a { + gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; + label = "EAST"; + linux,code = ; + }; - /* adc mux channel count */ - amux-count = <4>; - /* adc mux select(a,b) gpio */ - amux-a-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; - amux-b-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; - /* adc mux enable gpio */ - amux-en-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>; - - /* adc calculate scale */ - button-adc-scale = <2>; - - - /* adc deadzone range */ - button-adc-deadzone = <64>; - - /* - specifies fuzz value that is used to filter noise from - the event stream. - */ - button-adc-fuzz = <32>; - button-adc-flat = <32>; - - /* - Analog Stick data tuning value(precent) - p = positive direction, n = negative direction - report value = (real_adc_data * tuning_value) / 100 - */ - abs_x-p-tuning = <245>; - abs_x-n-tuning = <245>; - - abs_y-p-tuning = <245>; - abs_y-n-tuning = <245>; - - abs_rx-p-tuning = <245>; - abs_rx-n-tuning = <245>; - - abs_ry-p-tuning = <245>; - abs_ry-n-tuning = <245>; - - /* poll device interval (ms), adc read interval */ - poll-interval = <10>; - - /* required to invert x/y */ - invert-absx; - invert-absy; - - /* gpio button auto repeat set value : default disable */ - /* - autorepeat; - */ - sw1 { - gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-UP"; - linux,code = ; + button-b { + gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; + label = "SOUTH"; + linux,code = ; }; - sw2 { + + button-down { gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-DOWN"; + label = "DPAD-DOWN"; linux,code = ; }; - sw3 { - gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-LEFT"; - linux,code = ; + + button-l1 { + gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; + label = "TL"; + linux,code = ; }; - sw4 { - gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-RIGHT"; - linux,code = ; + + button-l2 { + gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; + label = "TL2"; + linux,code = ; }; - sw5 { - gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; - label = "GPIO KEY BTN-A"; - linux,code = ; + + button-left { + gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; + label = "DPAD-LEFT"; + linux,code = ; }; - sw6 { - gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-B"; - linux,code = ; + + button-r1 { + gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; + label = "TR"; + linux,code = ; }; - sw7 { - gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-X"; - linux,code = ; + + button-r2 { + gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; + label = "TR2"; + linux,code = ; }; - sw8 { - gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-Y"; - linux,code = ; + + button-right { + gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; + label = "DPAD-RIGHT"; + linux,code = ; }; - sw9 { + + button-select { gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_SELECT"; + label = "SELECT"; linux,code = ; }; - sw10 { + + button-start { gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_START"; + label = "START"; linux,code = ; }; - sw11 { - gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_F"; - linux,code = ; - }; - sw12 { - gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_TL"; - linux,code = ; - }; - sw13 { - gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_TR"; - linux,code = ; - }; - sw14 { - gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_TL2"; - linux,code = ; - }; - sw15 { - gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_TR2"; - linux,code = ; - }; - sw16 { + + button-thumbl { gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_THUMBL"; + label = "THUMBL"; linux,code = ; }; - sw17 { + + button-thumbr { gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; - label = "GPIO BTN_THUMBR"; + label = "THUMBR"; linux,code = ; }; + + button-up { + gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; + label = "DPAD-UP"; + linux,code = ; + }; + + button-x { + gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; + label = "NORTH"; + linux,code = ; + }; + + button-y { + gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; + label = "WEST"; + linux,code = ; + }; }; gpio_keys_vol: gpio-keys-vol { @@ -255,6 +256,13 @@ }; }; + gpio_mux: mux-controller { + compatible = "gpio-mux"; + mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, + <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; + #mux-control-cells = <0>; + }; + hdmi-con { compatible = "hdmi-connector"; ddc-i2c-bus = <&i2c5>; diff --git a/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3568-anbernic-rg-ds.dts b/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3568-anbernic-rg-ds.dts index 8544c108c89..d2a518c92a8 100644 --- a/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3568-anbernic-rg-ds.dts +++ b/projects/ROCKNIX/devices/RK3566/linux/dts/rockchip/rk3568-anbernic-rg-ds.dts @@ -33,143 +33,188 @@ poll-interval = <60>; button-home { - label = "HOME"; - linux,code = ; + label = "BACK"; + linux,code = ; press-threshold-microvolt = <41000>; }; }; - joypad: rocknix-singleadc-joypad { - compatible = "rocknix-singleadc-joypad"; + adc_keys_play: adc-keys-play { + compatible = "adc-keys"; + io-channel-names = "buttons"; + io-channels = <&saradc 2>; + keyup-threshold-microvolt = <1300000>; + poll-interval = <60>; - joypad-name = "retrogame_joypad"; - joypad-product = <0x1101>; - joypad-revision = <0x0100>; - joypad-vendor = <0x484B>; + button-play { + label = "PLAY"; + linux,code = ; + press-threshold-microvolt = <1750>; + }; + }; - status = "okay"; + adc_mux: adc-mux { + compatible = "io-channel-mux"; + channels = "left_x", "right_x", "left_y", "right_y"; + #io-channel-cells = <1>; + io-channels = <&saradc 3>; + io-channel-names = "parent"; + mux-controls = <&gpio_mux>; + settle-time-us = <100>; + }; + adc-joystick { + compatible = "adc-joystick"; + #address-cells = <1>; + io-channels = <&adc_mux 0>, + <&adc_mux 1>, + <&adc_mux 2>, + <&adc_mux 3>; + pinctrl-0 = <&joy_mux_en>; pinctrl-names = "default"; + poll-interval = <60>; + #size-cells = <0>; + + axis@0 { + reg = <0>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <940 15>; + linux,code = ; + }; + + axis@1 { + reg = <1>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <15 940>; + linux,code = ; + }; + + axis@2 { + reg = <2>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <15 940>; + linux,code = ; + }; + + axis@3 { + reg = <3>; + abs-flat = <32>; + abs-fuzz = <32>; + abs-range = <15 940>; + linux,code = ; + }; + }; + + gpio_keys_control: gpio-keys-control { + compatible = "gpio-keys"; pinctrl-0 = <&gamepad_keys_l>; + pinctrl-names = "default"; - pwms = <&pwm14 0 100000 0>; - pwm-names = "enable"; - rumble-boost-weak = <0x00>; - rumble-boost-strong = <0x00>; + button-a { + gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; + label = "EAST"; + linux,code = ; + }; - io-channel-names = "amux_adc"; - io-channels = <&saradc 3>; - amux-count = <4>; - amux-channel-mapping = <1 0 2 3>; - amux-a-gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; - amux-b-gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; - amux-en-gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; - - button-adc-scale = <2>; - button-adc-deadzone = <64>; - button-adc-fuzz = <32>; - button-adc-flat = <32>; - - abs_x-p-tuning = <250>; - abs_x-n-tuning = <250>; - abs_y-p-tuning = <250>; - abs_y-n-tuning = <250>; - abs_rx-p-tuning = <250>; - abs_rx-n-tuning = <250>; - abs_ry-p-tuning = <250>; - abs_ry-n-tuning = <250>; - invert-absx; - invert-absy; - invert-absry; - - poll-interval = <5>; - - sw1 { - gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-UP"; + button-b { + gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; + label = "SOUTH"; + linux,code = ; + }; + + button-down { + gpios = <&gpio2 RK_PD5 GPIO_ACTIVE_LOW>; + label = "DPAD-DOWN"; + linux,code = ; + }; + + button-l1 { + gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; + label = "TL"; + linux,code = ; + }; + + button-l2 { + gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; + label = "TL2"; + linux,code = ; + }; + + button-left { + gpios = <&gpio2 RK_PD7 GPIO_ACTIVE_LOW>; + label = "DPAD-LEFT"; + linux,code = ; + }; + + button-menu { + gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; + label = "MODE"; + linux,code = ; + }; + + button-right { + gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_LOW>; + label = "DPAD-RIGHT"; + linux,code = ; + }; + + button-r1 { + gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; + label = "T2"; + linux,code = ; + }; + + button-r2 { + gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; + label = "TR2"; + linux,code = ; + }; + + button-select { + gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; + label = "SELECT"; + linux,code = ; + }; + + button-start { + gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; + label = "START"; + linux,code = ; + }; + + button-thumbl { + gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_LOW>; + label = "THUMBL"; + linux,code = ; + }; + + button-thumbr { + gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; + label = "THUMBR"; + linux,code = ; + }; + + button-up { + gpios = <&gpio2 RK_PD4 GPIO_ACTIVE_LOW>; + label = "DPAD-UP"; linux,code = ; }; - sw2 { - gpios = <&gpio2 RK_PD5 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-DOWN"; - linux,code = ; - }; - sw3 { - gpios = <&gpio2 RK_PD7 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-LEFT"; - linux,code = ; - }; - sw4 { - gpios = <&gpio2 RK_PD6 GPIO_ACTIVE_LOW>; - label = "GPIO DPAD-RIGHT"; - linux,code = ; - }; - sw5 { - gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-B"; - linux,code = ; - }; - sw6 { - gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; - label = "GPIO KEY BTN-A"; - linux,code = ; - }; - sw7 { - gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-X"; - linux,code = ; - }; - sw8 { - gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-Y"; - linux,code = ; - }; - sw9 { - gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-SELECT"; - linux,code = ; - }; - sw10 { - gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-START"; - linux,code = ; - }; - sw11 { - gpios = <&gpio2 RK_PD1 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-F"; - linux,code = ; - }; - sw12 { - gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-TL"; - linux,code = ; - }; - sw13 { - gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-TR"; - linux,code = ; - }; - sw14 { - gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-TL2"; - linux,code = ; - }; - sw15 { - gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-TR2"; - linux,code = ; - }; - sw16 { - gpios = <&gpio2 RK_PD2 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-THUMBL"; - linux,code = ; - }; - sw17 { - gpios = <&gpio2 RK_PD3 GPIO_ACTIVE_LOW>; - label = "GPIO BTN-THUMBR"; - linux,code = ; + + button-x { + gpios = <&gpio3 RK_PA7 GPIO_ACTIVE_LOW>; + label = "NORTH"; + linux,code = ; }; - }; + + button-y { + gpios = <&gpio3 RK_PB0 GPIO_ACTIVE_LOW>; + label = "WEST"; + linux,code = ; + }; + }; backlight0: backlight0 { compatible = "pwm-backlight"; @@ -259,6 +304,16 @@ }; }; + gpio_mux: mux-controller { + compatible = "gpio-mux"; + #mux-control-cells = <0>; + mux-gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>, + <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; + pinctrl-0 = <&joy_mux_config>; + pinctrl-names = "default"; + }; + + leds: pwm-leds { compatible = "pwm-leds"; @@ -398,6 +453,14 @@ regulator-name = "vcc_sys"; }; + + vibrator: pwm-vibrator { + compatible = "pwm-vibrator"; + pwm-names = "enable"; + pwms = <&pwm14 0 100000 0>; + vcc-supply = <&vcc_sys>; + }; + vcc_wifi: regulator-vcc-wifi { compatible = "regulator-fixed"; enable-active-high; @@ -1022,6 +1085,19 @@ }; }; + joy-mux { + joy_mux_en: joy-mux-en { + rockchip,pins = + <3 RK_PC1 RK_FUNC_GPIO &pcfg_output_low>; + }; + + joy_mux_config: joy-mux-config { + rockchip,pins = + <3 RK_PC2 RK_FUNC_GPIO &pcfg_pull_none>, + <3 RK_PC3 RK_FUNC_GPIO &pcfg_pull_none>; + }; + }; + pmic { pmic_int_l: pmic-int-l { rockchip,pins = diff --git a/projects/ROCKNIX/devices/RK3566/options b/projects/ROCKNIX/devices/RK3566/options index ecb2d17dceb..a0b3d44465b 100644 --- a/projects/ROCKNIX/devices/RK3566/options +++ b/projects/ROCKNIX/devices/RK3566/options @@ -70,7 +70,7 @@ FIRMWARE="" # Additional packages to install - ADDITIONAL_PACKAGES="libmali" + ADDITIONAL_PACKAGES="libmali inputplumber" ADDITIONAL_PACKAGES_32BIT="libmali" # Debug tty path @@ -79,6 +79,9 @@ # Build and install rocknix out-of-tree device trees and overlays (yes / no) ROCKNIX_DEVICE_TREE_OVERLAYS="yes" + # No rocknix joypad + ROCKNIX_JOYPAD="no" + # ZRAM Algorithm ZRAM_COMPRESSION_ALGO="lzo-rle" diff --git a/projects/ROCKNIX/devices/RK3566/patches/linux/0005-arm64-dts-rockchip-fixup-anbernic-controls.patch b/projects/ROCKNIX/devices/RK3566/patches/linux/0005-arm64-dts-rockchip-fixup-anbernic-controls.patch index 149cd343eb0..bc6d732fdc1 100644 --- a/projects/ROCKNIX/devices/RK3566/patches/linux/0005-arm64-dts-rockchip-fixup-anbernic-controls.patch +++ b/projects/ROCKNIX/devices/RK3566/patches/linux/0005-arm64-dts-rockchip-fixup-anbernic-controls.patch @@ -1,1017 +1,22 @@ -From 7edb9bc56b40b183f20b30b55685d0b16d7afc9e Mon Sep 17 00:00:00 2001 -From: sydarn -Date: Thu, 11 Apr 2024 18:45:13 +0200 -Subject: [PATCH] arm64: dts: rockchip: fixup anbernic controls - ---- - .../dts/rockchip/rk3566-anbernic-rg-arc.dtsi | 174 ++++++----- - .../dts/rockchip/rk3566-anbernic-rg353p.dts | 14 - - .../dts/rockchip/rk3566-anbernic-rg353ps.dts | 14 - - .../dts/rockchip/rk3566-anbernic-rg353v.dts | 27 +- - .../dts/rockchip/rk3566-anbernic-rg353vs.dts | 27 +- - .../dts/rockchip/rk3566-anbernic-rg353x.dtsi | 238 +++++++++------ - .../dts/rockchip/rk3566-anbernic-rg503.dts | 273 ++++++++++-------- - .../dts/rockchip/rk3566-anbernic-rgxx3.dtsi | 54 ---- - 8 files changed, 433 insertions(+), 388 deletions(-) - -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi -index a4a60e4a53d4..8f77b5cbc379 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi -+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg-arc.dtsi -@@ -8,6 +8,126 @@ - #include "rk3566-anbernic-rgxx3.dtsi" - - / { -+/* -+ * Device uses a non-standard six button layout for a gamepad with X, -+ * Y, and Z on the top row of buttons and A, B, and C under the bottom -+ * row. -+ */ -+ joypad: rocknix-singleadc-joypad { -+ compatible = "rocknix-singleadc-joypad"; -+ pinctrl-0 = <&btn_pins_ctrl>; -+ pinctrl-names = "default"; -+ joypad-name = "rg_arc_joypad"; -+ joypad-product = <0x0A2C>; -+ joypad-revision = <0x0100>; -+ joypad-vendor = <0x0001>; -+ -+ status = "okay"; -+ amux-count = <0>; -+ /* poll device interval (ms), adc read interval */ -+ poll-interval = <10>; -+ pwms = <&pwm5 0 1000000000 0>; -+ pwm-names = "enable"; -+ rumble-boost-weak = <0x0000>; -+ rumble-boost-strong = <0x0000>; -+ -+ button-down { -+ gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; -+ label = "DPAD-DOWN"; -+ linux,code = ; -+ }; -+ -+ button-l1 { -+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; -+ label = "TL"; -+ linux,code = ; -+ }; -+ -+ button-l2 { -+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; -+ label = "TL2"; -+ linux,code = ; -+ }; -+ -+ button-select { -+ gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; -+ label = "SELECT"; -+ linux,code = ; -+ }; -+ -+ button-start { -+ gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; -+ label = "START"; -+ linux,code = ; -+ }; -+ -+ button-up { -+ gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; -+ label = "DPAD-UP"; -+ linux,code = ; -+ }; -+ -+ button-a { -+ gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; -+ label = "A"; -+ linux,code = ; -+ }; -+ -+ button-b { -+ gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; -+ label = "B"; -+ linux,code = ; -+ }; -+ -+ button-c { -+ gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; -+ label = "C"; -+ linux,code = ; -+ }; -+ -+ button-left { -+ gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; -+ label = "DPAD-LEFT"; -+ linux,code = ; -+ }; -+ -+ button-r1 { -+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -+ label = "TR"; -+ linux,code = ; -+ }; -+ -+ button-r2 { -+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -+ label = "TR2"; -+ linux,code = ; -+ }; -+ -+ button-right { -+ gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; -+ label = "DPAD-RIGHT"; -+ linux,code = ; -+ }; -+ -+ button-x { -+ gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; -+ label = "X"; -+ linux,code = ; -+ }; -+ -+ button-y { -+ gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; -+ label = "Y"; -+ linux,code = ; -+ }; -+ -+ button-z { -+ gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; -+ label = "Z"; -+ linux,code = ; -+ }; -+ }; -+ - backlight: backlight { - compatible = "pwm-backlight"; - power-supply = <&vcc_sys>; -@@ -126,73 +233,6 @@ mipi_in_panel: endpoint { - }; - }; - --/* -- * Device uses a non-standard six button layout for a gamepad with X, -- * Y, and Z on the top row of buttons and A, B, and C under the bottom -- * row. -- */ --&gpio_keys_control { -- button-a { -- gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; -- label = "A"; -- linux,code = ; -- }; -- -- button-b { -- gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; -- label = "B"; -- linux,code = ; -- }; -- -- button-c { -- gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; -- label = "C"; -- linux,code = ; -- }; -- -- button-left { -- gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; -- label = "DPAD-LEFT"; -- linux,code = ; -- }; -- -- button-r1 { -- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -- label = "TR"; -- linux,code = ; -- }; -- -- button-r2 { -- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -- label = "TR2"; -- linux,code = ; -- }; -- -- button-right { -- gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; -- label = "DPAD-RIGHT"; -- linux,code = ; -- }; -- -- button-x { -- gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; -- label = "X"; -- linux,code = ; -- }; -- -- button-y { -- gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; -- label = "Y"; -- linux,code = ; -- }; -- -- button-z { -- gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; -- label = "Z"; -- linux,code = ; -- }; --}; -- - &pinctrl { - audio-amplifier { - spk_amp_enable_h: spk-amp-enable-h { -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts -index 9816a4ed4599..384e4b9dbbca 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353p.dts -@@ -77,20 +77,6 @@ spk_amp: audio-amplifier { - }; - }; - --&gpio_keys_control { -- button-r1 { -- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -- label = "TR"; -- linux,code = ; -- }; -- -- button-r2 { -- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -- label = "TR2"; -- linux,code = ; -- }; --}; -- - &i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2m1_xfer>; -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts -index ca5284e4807d..b2fac3ca4f1c 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353ps.dts -@@ -76,20 +76,6 @@ spk_amp: audio-amplifier { - }; - }; - --&gpio_keys_control { -- button-r1 { -- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -- label = "TR"; -- linux,code = ; -- }; -- -- button-r2 { -- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -- label = "TR2"; -- linux,code = ; -- }; --}; -- - &panel { - compatible = "anbernic,rg353v-panel-v2"; - iovcc-supply = <&vcc3v3_lcd0_n>; -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts -index a79a5614bcc8..e26e975f1ceb 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353v.dts -@@ -64,20 +64,6 @@ simple-audio-card,cpu { - }; - }; - --&gpio_keys_control { -- button-r1 { -- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -- label = "TR"; -- linux,code = ; -- }; -- -- button-r2 { -- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -- label = "TR2"; -- linux,code = ; -- }; --}; -- - &i2c2 { - pinctrl-names = "default"; - pinctrl-0 = <&i2c2m1_xfer>; -@@ -124,3 +110,16 @@ &sdhci { - vqmmc-supply = <&vcc_1v8>; - status = "okay"; - }; -+ -+&joypad { -+ sw13 { -+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR"; -+ linux,code = ; -+ }; -+ sw15 { -+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR2"; -+ linux,code = ; -+ }; -+}; -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts -index 90da43855d1c..7b4d5bd89889 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts -+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353vs.dts -@@ -63,20 +63,6 @@ simple-audio-card,cpu { - }; - }; - --&gpio_keys_control { -- button-r1 { -- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -- label = "TR"; -- linux,code = ; -- }; -- -- button-r2 { -- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -- label = "TR2"; -- linux,code = ; -- }; --}; -- - &rk817 { - rk817_charger: charger { - monitored-battery = <&battery>; -@@ -85,3 +71,16 @@ rk817_charger: charger { - rockchip,sleep-filter-current-microamp = <100000>; - }; - }; -+ -+&joypad { -+ sw13 { -+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR"; -+ linux,code = ; -+ }; -+ sw15 { -+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR2"; -+ linux,code = ; -+ }; -+}; -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353x.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353x.dtsi -index 63a18ff36cea..13c679e84446 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353x.dtsi -+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg353x.dtsi -@@ -8,59 +8,162 @@ - #include "rk3566-anbernic-rgxx3.dtsi" - - / { -- adc-joystick { -- compatible = "adc-joystick"; -- io-channels = <&adc_mux 0>, -- <&adc_mux 1>, -- <&adc_mux 2>, -- <&adc_mux 3>; -- pinctrl-0 = <&joy_mux_en>; -+ joypad: rocknix-singleadc-joypad { -+ compatible = "rocknix-singleadc-joypad"; -+ -+ joypad-name = "retrogame_joypad"; -+ joypad-product = <0x1101>; -+ joypad-revision = <0x0100>; -+ joypad-vendor = <0x484B>; -+ -+ pwms = <&pwm5 0 1000000000 0>; -+ pwm-names = "enable"; -+ rumble-boost-weak = <0x0000>; -+ rumble-boost-strong = <0x0000>; -+ status = "okay"; -+ -+ /* gpio pincontrol setup */ - pinctrl-names = "default"; -- poll-interval = <60>; -- #address-cells = <1>; -- #size-cells = <0>; -+ pinctrl-0 = <&btn_pins_ctrl>; - -- axis@0 { -- reg = <0>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <1023 15>; -- linux,code = ; -- }; -+ /* Analog mux define */ -+ io-channel-names = "amux_adc"; -+ io-channels = <&saradc 3>; - -- axis@1 { -- reg = <1>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <15 1023>; -- linux,code = ; -+ /* adc mux channel count */ -+ amux-count = <4>; -+ /* adc mux select(a,b) gpio */ -+ amux-a-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; -+ amux-b-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; -+ /* adc mux enable gpio */ -+ amux-en-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>; -+ -+ /* adc calculate scale */ -+ button-adc-scale = <2>; -+ -+ /* adc deadzone range */ -+ button-adc-deadzone = <64>; -+ -+ /* -+ specifies fuzz value that is used to filter noise from -+ the event stream. -+ */ -+ button-adc-fuzz = <32>; -+ button-adc-flat = <32>; -+ -+ /* -+ Analog Stick data tuning value(precent) -+ p = positive direction, n = negative direction -+ report value = (real_adc_data * tuning_value) / 100 -+ */ -+ abs_x-p-tuning = <245>; -+ abs_x-n-tuning = <245>; -+ -+ abs_y-p-tuning = <245>; -+ abs_y-n-tuning = <245>; -+ -+ abs_rx-p-tuning = <245>; -+ abs_rx-n-tuning = <245>; -+ -+ abs_ry-p-tuning = <245>; -+ abs_ry-n-tuning = <245>; -+ -+ /* poll device interval (ms), adc read interval */ -+ poll-interval = <10>; -+ -+ /* required to invert x/y */ -+ invert-absx; -+ invert-absy; -+ -+ /* gpio button auto repeat set value : default disable */ -+ /* -+ autorepeat; -+ */ -+ sw1 { -+ gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-UP"; -+ linux,code = ; - }; -- -- axis@2 { -- reg = <2>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <15 1023>; -- linux,code = ; -+ sw2 { -+ gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-DOWN"; -+ linux,code = ; - }; -- -- axis@3 { -- reg = <3>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <1023 15>; -- linux,code = ; -+ sw3 { -+ gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-LEFT"; -+ linux,code = ; -+ }; -+ sw4 { -+ gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-RIGHT"; -+ linux,code = ; -+ }; -+ sw5 { -+ gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; -+ label = "GPIO KEY BTN-A"; -+ linux,code = ; -+ }; -+ sw6 { -+ gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN-B"; -+ linux,code = ; -+ }; -+ sw7 { -+ gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN-X"; -+ linux,code = ; -+ }; -+ sw8 { -+ gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN-Y"; -+ linux,code = ; -+ }; -+ sw9 { -+ gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_SELECT"; -+ linux,code = ; -+ }; -+ sw10 { -+ gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_START"; -+ linux,code = ; -+ }; -+ sw11 { -+ gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_F"; -+ linux,code = ; -+ }; -+ sw12 { -+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TL"; -+ linux,code = ; -+ }; -+ sw13 { -+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR"; -+ linux,code = ; -+ }; -+ sw14 { -+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TL2"; -+ linux,code = ; -+ }; -+ sw15 { -+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR2"; -+ linux,code = ; -+ }; -+ sw16 { -+ gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_THUMBL"; -+ linux,code = ; -+ }; -+ sw17 { -+ gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_THUMBR"; -+ linux,code = ; - }; -- }; -- -- adc_mux: adc-mux { -- compatible = "io-channel-mux"; -- channels = "left_x", "right_x", "left_y", "right_y"; -- #io-channel-cells = <1>; -- io-channels = <&saradc 3>; -- io-channel-names = "parent"; -- mux-controls = <&gpio_mux>; -- settle-time-us = <100>; - }; - - backlight: backlight { -@@ -68,13 +167,6 @@ backlight: backlight { - power-supply = <&vcc_sys>; - pwms = <&pwm4 0 25000 0>; - }; -- -- gpio_mux: mux-controller { -- compatible = "gpio-mux"; -- mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, -- <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; -- #mux-control-cells = <0>; -- }; - }; - - &cru { -@@ -126,44 +218,6 @@ mipi_in_panel: endpoint { - }; - }; - --&gpio_keys_control { -- button-a { -- gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; -- label = "EAST"; -- linux,code = ; -- }; -- -- button-left { -- gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; -- label = "DPAD-LEFT"; -- linux,code = ; -- }; -- -- button-right { -- gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; -- label = "DPAD-RIGHT"; -- linux,code = ; -- }; -- -- button-thumbl { -- gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; -- label = "THUMBL"; -- linux,code = ; -- }; -- -- button-thumbr { -- gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; -- label = "THUMBR"; -- linux,code = ; -- }; -- -- button-y { -- gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; -- label = "WEST"; -- linux,code = ; -- }; --}; -- - &i2c0 { - /* This hardware is physically present but unused. */ - power-monitor@62 { diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts -index 74cf313e0635..a9154162092e 100644 +index 4dcc0ea4cf0f..90a4ac85f35d 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rg503.dts -@@ -16,62 +16,6 @@ aliases { - mmc1 = &sdmmc1; - mmc2 = &sdmmc2; - }; -- -- adc-joystick { -- compatible = "adc-joystick"; -- io-channels = <&adc_mux 0>, -- <&adc_mux 1>, -- <&adc_mux 2>, -- <&adc_mux 3>; -- pinctrl-0 = <&joy_mux_en>; -- pinctrl-names = "default"; -- poll-interval = <60>; -- #address-cells = <1>; -- #size-cells = <0>; -- -- axis@0 { -- reg = <0>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <1023 15>; -- linux,code = ; -- }; -- -- axis@1 { -- reg = <1>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <15 1023>; -- linux,code = ; -- }; -- -- axis@2 { -- reg = <2>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <15 1023>; -- linux,code = ; -- }; -- -- axis@3 { -- reg = <3>; -- abs-flat = <32>; -- abs-fuzz = <32>; -- abs-range = <1023 15>; -- linux,code = ; -- }; -- }; -- -- adc_mux: adc-mux { -- compatible = "io-channel-mux"; -- channels = "left_x", "right_x", "left_y", "right_y"; -- #io-channel-cells = <1>; -- io-channels = <&saradc 3>; -- io-channel-names = "parent"; -- mux-controls = <&gpio_mux>; -- settle-time-us = <100>; -- }; -- - battery: battery { - compatible = "simple-battery"; - charge-full-design-microamp-hours = <3472000>; -@@ -91,13 +35,6 @@ battery: battery { - <3400000 0>; - }; +@@ -201,7 +201,7 @@ mipi_out_panel: endpoint { -- gpio_mux: mux-controller { -- compatible = "gpio-mux"; -- mux-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>, -- <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; -- #mux-control-cells = <0>; -- }; -- - gpio_spi: spi { - compatible = "spi-gpio"; - pinctrl-names = "default"; -@@ -164,6 +101,164 @@ spk_amp: audio-amplifier { - pinctrl-names = "default"; - sound-name-prefix = "Speaker Amp"; + &gpio_keys_control { + button-a { +- gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; ++ gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; + label = "EAST"; + linux,code = ; }; -+ -+ joypad: rocknix-singleadc-joypad { -+ compatible = "rocknix-singleadc-joypad"; -+ -+ joypad-name = "retrogame_joypad"; -+ joypad-product = <0x1101>; -+ joypad-revision = <0x0100>; -+ joypad-vendor = <0x484B>; -+ -+ status = "okay"; -+ pwms = <&pwm5 0 1000000000 0>; -+ pwm-names = "enable"; -+ rumble-boost-weak = <0x0000>; -+ rumble-boost-strong = <0x0000>; -+ -+ /* gpio pincontrol setup */ -+ pinctrl-names = "default"; -+ pinctrl-0 = <&btn_pins_ctrl>; -+ -+ /* Analog mux define */ -+ io-channel-names = "amux_adc"; -+ io-channels = <&saradc 3>; -+ -+ /* adc mux channel count */ -+ amux-count = <4>; -+ /* adc mux select(a,b) gpio */ -+ amux-a-gpios = <&gpio0 RK_PB6 GPIO_ACTIVE_LOW>; -+ amux-b-gpios = <&gpio0 RK_PB7 GPIO_ACTIVE_LOW>; -+ /* adc mux enable gpio */ -+ amux-en-gpios = <&gpio0 RK_PB5 GPIO_ACTIVE_LOW>; -+ -+ /* adc calculate scale */ -+ button-adc-scale = <2>; -+ -+ /* adc deadzone range */ -+ button-adc-deadzone = <64>; -+ -+ /* -+ specifies fuzz value that is used to filter noise from -+ the event stream. -+ */ -+ button-adc-fuzz = <32>; -+ button-adc-flat = <32>; -+ -+ /* -+ Analog Stick data tuning value(precent) -+ p = positive direction, n = negative direction -+ report value = (real_adc_data * tuning_value) / 100 -+ */ -+ abs_x-p-tuning = <450>; -+ abs_x-n-tuning = <450>; -+ -+ abs_y-p-tuning = <450>; -+ abs_y-n-tuning = <450>; -+ -+ abs_rx-p-tuning = <450>; -+ abs_rx-n-tuning = <450>; -+ -+ abs_ry-p-tuning = <450>; -+ abs_ry-n-tuning = <450>; -+ -+ /* poll device interval (ms), adc read interval */ -+ poll-interval = <10>; -+ -+ /* required to invert x/y */ -+ invert-absx; -+ invert-absy; -+ -+ /* gpio button auto repeat set value : default disable */ -+ /* -+ autorepeat; -+ */ -+ sw1 { -+ gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-UP"; -+ linux,code = ; -+ }; -+ sw2 { -+ gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-DOWN"; -+ linux,code = ; -+ }; -+ sw3 { -+ gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-LEFT"; -+ linux,code = ; -+ }; -+ sw4 { -+ gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; -+ label = "GPIO DPAD-RIGHT"; -+ linux,code = ; -+ }; -+ sw5 { -+ gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; -+ label = "GPIO KEY BTN-A"; -+ linux,code = ; -+ }; -+ sw6 { -+ gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN-B"; -+ linux,code = ; -+ }; -+ sw7 { -+ gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN-X"; -+ linux,code = ; -+ }; -+ sw8 { -+ gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN-Y"; -+ linux,code = ; -+ }; -+ sw9 { -+ gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_SELECT"; -+ linux,code = ; -+ }; -+ sw10 { -+ gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_START"; -+ linux,code = ; -+ }; -+ sw11 { -+ gpios = <&gpio3 RK_PB7 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_F"; -+ linux,code = ; -+ }; -+ sw12 { -+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TL"; -+ linux,code = ; -+ }; -+ sw13 { -+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR"; -+ linux,code = ; -+ }; -+ sw14 { -+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TL2"; -+ linux,code = ; -+ }; -+ sw15 { -+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR2"; -+ linux,code = ; -+ }; -+ sw16 { -+ gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_THUMBL"; -+ linux,code = ; -+ }; -+ sw17 { -+ gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_THUMBR"; -+ linux,code = ; -+ }; -+ }; - }; - - &cru { -@@ -199,62 +290,6 @@ mipi_out_panel: endpoint { +@@ -249,7 +249,7 @@ button-thumbr { }; - }; --&gpio_keys_control { -- button-a { -- gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; -- label = "EAST"; -- linux,code = ; -- }; -- -- button-left { -- gpios = <&gpio3 RK_PA5 GPIO_ACTIVE_LOW>; -- label = "DPAD-LEFT"; -- linux,code = ; -- }; -- -- button-right { -- gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; -- label = "DPAD-RIGHT"; -- linux,code = ; -- }; -- -- button-r1 { -- gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -- label = "TR"; -- linux,code = ; -- }; -- -- button-r2 { -- gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -- label = "TR2"; -- linux,code = ; -- }; -- -- button-right { -- gpios = <&gpio3 RK_PA6 GPIO_ACTIVE_LOW>; -- label = "DPAD-RIGHT"; -- linux,code = ; -- }; -- -- button-thumbl { -- gpios = <&gpio3 RK_PA1 GPIO_ACTIVE_LOW>; -- label = "THUMBL"; -- linux,code = ; -- }; -- -- button-thumbr { -- gpios = <&gpio3 RK_PA2 GPIO_ACTIVE_LOW>; -- label = "THUMBR"; -- linux,code = ; -- }; -- -- button-y { + button-y { - gpios = <&gpio3 RK_PC2 GPIO_ACTIVE_LOW>; -- label = "WEST"; -- linux,code = ; -- }; --}; -- - &pinctrl { - audio-amplifier { - spk_amp_enable_h: spk-amp-enable-h { -diff --git a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi -index 233eade30f21..a35abdb6ec1a 100644 ---- a/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi -+++ b/arch/arm64/boot/dts/rockchip/rk3566-anbernic-rgxx3.dtsi -@@ -34,60 +34,6 @@ button-mode { - }; ++ gpios = <&gpio3 RK_PC1 GPIO_ACTIVE_LOW>; + label = "WEST"; + linux,code = ; }; - -- gpio_keys_control: gpio-keys-control { -- compatible = "gpio-keys"; -- pinctrl-0 = <&btn_pins_ctrl>; -- pinctrl-names = "default"; -- -- button-b { -- gpios = <&gpio3 RK_PC3 GPIO_ACTIVE_LOW>; -- label = "SOUTH"; -- linux,code = ; -- }; -- -- button-down { -- gpios = <&gpio3 RK_PA4 GPIO_ACTIVE_LOW>; -- label = "DPAD-DOWN"; -- linux,code = ; -- }; -- -- button-l1 { -- gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; -- label = "TL"; -- linux,code = ; -- }; -- -- button-l2 { -- gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; -- label = "TL2"; -- linux,code = ; -- }; -- -- button-select { -- gpios = <&gpio3 RK_PB6 GPIO_ACTIVE_LOW>; -- label = "SELECT"; -- linux,code = ; -- }; -- -- button-start { -- gpios = <&gpio3 RK_PB5 GPIO_ACTIVE_LOW>; -- label = "START"; -- linux,code = ; -- }; -- -- button-up { -- gpios = <&gpio3 RK_PA3 GPIO_ACTIVE_LOW>; -- label = "DPAD-UP"; -- linux,code = ; -- }; -- -- button-x { -- gpios = <&gpio3 RK_PC0 GPIO_ACTIVE_LOW>; -- label = "NORTH"; -- linux,code = ; -- }; -- }; -- - gpio_keys_vol: gpio-keys-vol { - compatible = "gpio-keys"; - autorepeat; -@@ -194,11 +140,6 @@ vcc_wifi: regulator-vcc-wifi { - regulator-name = "vcc_wifi"; - }; - -- vibrator: pwm-vibrator { -- compatible = "pwm-vibrator"; -- pwm-names = "enable"; -- pwms = <&pwm5 0 1000000000 0>; -- }; - }; - - &combphy1 { --- -2.34.1 - diff --git a/projects/ROCKNIX/devices/RK3566/patches/linux/0009-arm64-dts-rockchip-fix-shoulders-triggers-on-powkidd.patch b/projects/ROCKNIX/devices/RK3566/patches/linux/0009-arm64-dts-rockchip-fix-shoulders-triggers-on-powkidd.patch index 19fc525c5c3..2c9f3b96e6f 100644 --- a/projects/ROCKNIX/devices/RK3566/patches/linux/0009-arm64-dts-rockchip-fix-shoulders-triggers-on-powkidd.patch +++ b/projects/ROCKNIX/devices/RK3566/patches/linux/0009-arm64-dts-rockchip-fix-shoulders-triggers-on-powkidd.patch @@ -1,44 +1,34 @@ -From a51cfb844a8c6887b136efd3bcc4a3dd80ac320f Mon Sep 17 00:00:00 2001 -From: sydarn -Date: Thu, 28 Mar 2024 11:06:29 +0100 -Subject: [PATCH] arm64: dts: rockchip: fix shoulders/triggers on powkiddy - rgb10max3 - ---- - .../rockchip/rk3566-powkiddy-rgb10max3.dts | 23 +++++++++++++++++++ - 1 file changed, 23 insertions(+) - diff --git a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts -index e5a474e681dd..1cd89a640449 100644 +index e5a474e681dd..b040daae21bf 100644 --- a/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts +++ b/arch/arm64/boot/dts/rockchip/rk3566-powkiddy-rgb10max3.dts -@@ -85,3 +85,26 @@ &red_led { +@@ -85,3 +85,29 @@ &red_led { default-state = "off"; function = LED_FUNCTION_STATUS; }; + -+&joypad { -+ sw12 { -+ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TL"; -+ linux,code = ; -+ }; -+ sw13 { -+ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR"; -+ linux,code = ; -+ }; -+ sw14 { -+ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TL2"; -+ linux,code = ; -+ }; -+ sw15 { -+ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; -+ label = "GPIO BTN_TR2"; -+ linux,code = ; -+ }; ++&gpio_keys_control { ++ button-r1 { ++ gpios = <&gpio3 RK_PB4 GPIO_ACTIVE_LOW>; ++ label = "TR"; ++ linux,code = ; ++ }; ++ ++ button-r2 { ++ gpios = <&gpio3 RK_PB3 GPIO_ACTIVE_LOW>; ++ label = "TR2"; ++ linux,code = ; ++ }; ++ ++ button-l1 { ++ gpios = <&gpio3 RK_PB2 GPIO_ACTIVE_LOW>; ++ label = "TL"; ++ linux,code = ; ++ }; ++ ++ button-l2 { ++ gpios = <&gpio3 RK_PB1 GPIO_ACTIVE_LOW>; ++ label = "TL2"; ++ linux,code = ; ++ }; +}; --- -2.34.1 - diff --git a/projects/ROCKNIX/devices/RK3566/patches/linux/0018-arm64-dts-rockchip-add-device-tree-for-powkiddy-rgb2.patch b/projects/ROCKNIX/devices/RK3566/patches/linux/0018-arm64-dts-rockchip-add-device-tree-for-powkiddy-rgb2.patch index 76b1022d67a..31efc6ae576 100644 --- a/projects/ROCKNIX/devices/RK3566/patches/linux/0018-arm64-dts-rockchip-add-device-tree-for-powkiddy-rgb2.patch +++ b/projects/ROCKNIX/devices/RK3566/patches/linux/0018-arm64-dts-rockchip-add-device-tree-for-powkiddy-rgb2.patch @@ -26,6 +26,13 @@ index 000000000000..11c6f53beba5 +/ { + compatible = "powkiddy,rgb20-pro", "rockchip,rk3566"; + model = "Powkiddy RGB20 Pro"; ++ ++ vibrator: pwm-vibrator { ++ compatible = "pwm-vibrator"; ++ pwm-names = "enable"; ++ pwms = <&pwm5 0 1000000000 0>; ++ }; ++ +}; + +&battery { @@ -99,13 +106,6 @@ index 000000000000..11c6f53beba5 + }; +}; + -+&joypad { -+ pwms = <&pwm5 0 1000000000 0>; -+ pwm-names = "enable"; -+ rumble-boost-weak = <0x0000>; -+ rumble-boost-strong = <0x0000>; -+}; -+ +&pwm5 { + status = "okay"; +}; diff --git a/projects/ROCKNIX/devices/RK3566/patches/linux/0036-disable-rgds-ohci-for-sleep.patch b/projects/ROCKNIX/devices/RK3566/patches/linux/0036-disable-rgds-ohci-for-sleep.patch new file mode 100644 index 00000000000..e69de29bb2d diff --git a/projects/ROCKNIX/devices/RK3576/options b/projects/ROCKNIX/devices/RK3576/options index 67fcf2923a9..4189b5c7340 100644 --- a/projects/ROCKNIX/devices/RK3576/options +++ b/projects/ROCKNIX/devices/RK3576/options @@ -76,6 +76,9 @@ # Debug tty path DEBUG_TTY="/dev/ttyS0" + # No rocknix jopad + ROCKNIX_JOYPAD="no" + # Build and install rocknix out-of-tree device trees and overlays (yes / no) ROCKNIX_DEVICE_TREE_OVERLAYS="no" diff --git a/projects/ROCKNIX/packages/apps/gamepadtester/package.mk b/projects/ROCKNIX/packages/apps/gamepadtester/package.mk index 9d0fdf6491b..c3c92bbca7a 100644 --- a/projects/ROCKNIX/packages/apps/gamepadtester/package.mk +++ b/projects/ROCKNIX/packages/apps/gamepadtester/package.mk @@ -2,9 +2,8 @@ # Copyright (C) 2024 ROCKNIX (https://github.com/ROCKNIX) PKG_NAME="gamepadtester" -PKG_VERSION="6ac49e67aa98fe3dd5c27f73306d65d4b7a82daa" PKG_LICENSE="GPLv3" -PKG_SITE="https://github.com/timre13/GamepadTester" +PKG_SITE="https://github.com/sydarn/GamepadTester" PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz" PKG_DEPENDS_TARGET="toolchain SDL2 SDL2_gfx gamecontrollerdb" PKG_LONGDESC="A simple SDL GUI Gamepad tester" @@ -12,14 +11,18 @@ PKG_TOOLCHAIN="cmake" PKG_PATCH_DIRS+="${DEVICE}" case ${DEVICE} in - SM8650|SM8750|SM8550|SM8250) - PKG_PATCH_DIRS+=" xbox" - ;; + SM8650|SM8750|SM8550|SM8250|RK3576|RK3566) + PKG_VERSION="b06fef21d7e67aa95bbadb6021ed5a22d2aa6c76" + ;; *) + PKG_VERSION="6ac49e67aa98fe3dd5c27f73306d65d4b7a82daa" + PKG_SITE="https://github.com/timre13/GamepadTester" PKG_PATCH_DIRS+=" legacy" ;; esac +PKG_URL="${PKG_SITE}/archive/${PKG_VERSION}.tar.gz" + makeinstall_target() { mkdir -p ${INSTALL}/usr/bin cp -a ${PKG_BUILD}/.${TARGET_NAME}/gamepad_test ${INSTALL}/usr/bin/gamepad-tester diff --git a/projects/ROCKNIX/packages/emulators/libretro/retroarch/sources/RK3566/retroarch.cfg b/projects/ROCKNIX/packages/emulators/libretro/retroarch/sources/RK3566/retroarch.cfg index e3e2f191488..38096462303 100644 --- a/projects/ROCKNIX/packages/emulators/libretro/retroarch/sources/RK3566/retroarch.cfg +++ b/projects/ROCKNIX/packages/emulators/libretro/retroarch/sources/RK3566/retroarch.cfg @@ -218,11 +218,11 @@ input_disk_prev = "nul" input_driver = "udev" input_duty_cycle = "3" input_enable_hotkey_axis = "nul" -input_enable_hotkey_btn = "8" +input_enable_hotkey_btn = "nul" input_enable_hotkey_mbtn = "nul" input_enable_hotkey = "nul" input_exit_emulator_axis = "nul" -input_exit_emulator_btn = "9" +input_exit_emulator_btn = "nul" input_exit_emulator = "escape" input_exit_emulator_mbtn = "nul" input_fps_toggle_axis = "nul" @@ -243,7 +243,7 @@ input_grab_mouse_toggle = "f11" input_grab_mouse_toggle_mbtn = "nul" input_hold_fast_forward_axis = "nul" input_hold_fast_forward_btn = "nul" -input_hold_fast_forward = "l" +input_hold_fast_forward = "nul" input_hold_fast_forward_mbtn = "nul" input_hold_slowmotion_axis = "nul" input_hold_slowmotion_btn = "nul" diff --git a/projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566 b/projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566 new file mode 120000 index 00000000000..72081d3859b --- /dev/null +++ b/projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566 @@ -0,0 +1 @@ +InputPlumber \ No newline at end of file diff --git a/projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566/aethersx2/inis/PCSX2.ini b/projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566/aethersx2/inis/PCSX2.ini deleted file mode 100644 index d36c91c2eff..00000000000 --- a/projects/ROCKNIX/packages/emulators/standalone/aethersx2-sa/config/RK3566/aethersx2/inis/PCSX2.ini +++ /dev/null @@ -1,448 +0,0 @@ -[UI] -SettingsVersion = 1 -StartFullscreen = true -RenderToSeparateWindow = true -DoubleClickTogglesFullscreen = false - - -[EmuCore] -CdvdVerboseReads = false -CdvdDumpBlocks = false -CdvdShareWrite = false -EnablePatches = true -EnableCheats = false -EnablePINE = false -EnableWideScreenPatches = false -EnableNoInterlacingPatches = false -EnableRecordingTools = true -EnableGameFixes = true -SaveStateOnShutdown = false -ConsoleToStdio = false -HostFs = false -PatchBios = false -PatchRegion = -BackupSavestate = true -SavestateZstdCompression = true -McdEnableEjection = true -McdFolderAutoManage = true -GzipIsoIndexTemplate = $(f).pindex.tmp -BlockDumpSaveDirectory = - - -[EmuCore/Speedhacks] -EECycleRate = 0 -EECycleSkip = 0 -fastCDVD = false -IntcStat = true -WaitLoop = true -vuFlagHack = true -vuThread = true -vu1Instant = true - - -[EmuCore/CPU] -FPU.DenormalsAreZero = true -FPU.FlushToZero = true -FPU.Roundmode = 3 -AffinityControlMode = 0 -VU.DenormalsAreZero = true -VU.FlushToZero = true -VU.Roundmode = 3 - - -[EmuCore/CPU/Recompiler] -EnableEE = true -EnableIOP = true -EnableEECache = false -EnableVU0 = true -EnableVU1 = true -EnableFastmem = true -vuOverflow = true -vuExtraOverflow = false -vuSignOverflow = false -vuUnderflow = false -fpuOverflow = true -fpuExtraOverflow = false -fpuFullMode = false -fpuCorrectAddSub = true -StackFrameChecks = false -PreBlockCheckEE = false -PreBlockCheckIOP = false - - -[EmuCore/GS] -VsyncQueueSize = 2 -FrameLimitEnable = true -VsyncEnable = 0 -FramerateNTSC = 59.940000 -FrameratePAL = 50.000000 -SyncToHostRefreshRate = false -AspectRatio = Auto 4:3/3:2 -FMVAspectRatioSwitch = Off -Zoom = 100.000000 -StretchY = 100.000000 -CropLeft = 0 -CropTop = 0 -CropRight = 0 -CropBottom = 0 -pcrtc_antiblur = true -disable_interlace_offset = false -pcrtc_offsets = false -pcrtc_overscan = false -IntegerScaling = false -linear_present = true -UseDebugDevice = false -UseBlitSwapChain = false -disable_shader_cache = false -DisableDualSourceBlend = false -DisableFramebufferFetch = false -ThreadedPresentation = false -SkipDuplicateFrames = true -OsdShowMessages = true -OsdShowSpeed = false -OsdShowFPS = false -OsdShowCPU = false -OsdShowGPU = false -OsdShowResolution = false -OsdShowGSStats = false -OsdShowIndicators = true -OsdShowVersionInfo = false -accurate_date = true -paltex = false -conservative_framebuffer = true -autoflush_sw = true -preload_frame_with_gs_data = false -wrap_gs_mem = false -mipmap = true -aa1 = true -UserHacks = false -UserHacks_align_sprite_X = false -UserHacks_AutoFlush = false -UserHacks_CPU_FB_Conversion = false -UserHacks_DisableDepthSupport = false -UserHacks_DisablePartialInvalidation = false -UserHacks_Disable_Safe_Features = false -UserHacks_merge_pp_sprite = false -UserHacks_WildHack = false -UserHacks_TextureInsideRt = false -fxaa = false -ShadeBoost = false -shaderfx = false -dump = false -save = false -savef = false -savet = false -savez = false -DumpReplaceableTextures = false -DumpReplaceableMipmaps = false -DumpTexturesWithFMVActive = false -DumpDirectTextures = true -DumpPaletteTextures = true -LoadTextureReplacements = false -LoadTextureReplacementsAsync = true -PrecacheTextureReplacements = false -deinterlace = 7 -OsdScale = 100 -Renderer = 14 -upscale_multiplier = 1 -mipmap_hw = -1 -accurate_blending_unit = 1 -crc_hack_level = -1 -filter = 2 -texture_preloading = 2 -GSDumpCompression = 0 -HWDownloadMode = 0 -dithering_ps2 = 2 -MaxAnisotropy = 0 -extrathreads = 2 -extrathreads_height = 4 -TVShader = 0 -UserHacks_SkipDraw_Start = 0 -UserHacks_SkipDraw_End = 0 -UserHacks_Half_Bottom_Override = -1 -UserHacks_HalfPixelOffset = 0 -UserHacks_round_sprite_offset = 0 -UserHacks_TCOffsetX = 0 -UserHacks_TCOffsetY = 0 -UserHacks_CPUSpriteRenderBW = 0 -UserHacks_TriFilter = -1 -OverrideTextureBarriers = -1 -OverrideGeometryShaders = -1 -ShadeBoost_Brightness = 50 -ShadeBoost_Contrast = 50 -ShadeBoost_Saturation = 50 -saven = 0 -savel = 5000 -Adapter = -shaderfx_conf = shaders/GS_FX_Settings.ini -shaderfx_glsl = shaders/GS.fx - - -[SPU2/Mixing] -Interpolation = 5 -FinalVolume = 100 -VolumeAdjustC = 0.000000 -VolumeAdjustFL = 0.000000 -VolumeAdjustFR = 0.000000 -VolumeAdjustBL = 0.000000 -VolumeAdjustBR = 0.000000 -VolumeAdjustSL = 0.000000 -VolumeAdjustSR = 0.000000 -VolumeAdjustLFE = 0.000000 - - -[SPU2/Output] -OutputModule = cubeb -Latency = 100 -SynchMode = 0 -SpeakerConfiguration = 0 -BackendName = - -[DEV9/Eth] -EthEnable = false -EthApi = Unset -EthDevice = -EthLogDNS = false -InterceptDHCP = false -PS2IP = 0.0.0.0 -Mask = 0.0.0.0 -Gateway = 0.0.0.0 -DNS1 = 0.0.0.0 -DNS2 = 0.0.0.0 -AutoMask = true -AutoGateway = true -ModeDNS1 = Auto -ModeDNS2 = Auto - - -[DEV9/Eth/Hosts] -Count = 0 - - -[DEV9/Hdd] -HddEnable = false -HddFile = DEV9hdd.raw -HddSizeSectors = 83886080 - - -[EmuCore/Gamefixes] -VuAddSubHack = true -FpuMulHack = true -FpuNegDivHack = false -XgKickHack = false -EETimingHack = true -SoftwareRendererFMVHack = false -SkipMPEGHack = false -OPHFlagHack = false -DMABusyHack = true -VIFFIFOHack = true -VIF1StallHack = false -GIFFIFOHack = false -GoemonTlbHack = false -IbitHack = false -VUSyncHack = false -VUOverflowHack = false -BlitInternalFPSHack = false - - -[EmuCore/Profiler] -Enabled = false -RecBlocks_EE = true -RecBlocks_IOP = true -RecBlocks_VU0 = true -RecBlocks_VU1 = true - - -[EmuCore/Debugger] -ShowDebuggerOnStart = false -AlignMemoryWindowStart = true -FontWidth = 8 -FontHeight = 12 -WindowWidth = 0 -WindowHeight = 0 -MemoryViewBytesPerRow = 16 - - -[EmuCore/TraceLog] -Enabled = false -EE.bitset = 0 -IOP.bitset = 0 - - -[Filenames] -BIOS = - - -[Framerate] -NominalScalar = 1.000000 -TurboScalar = 2.000000 -SlomoScalar = 0.500000 - - -[MemoryCards] -Slot1_Enable = true -Slot1_Filename = Mcd001.ps2 -Slot2_Enable = true -Slot2_Filename = Mcd002.ps2 -Multitap1_Slot2_Enable = false -Multitap1_Slot2_Filename = Mcd-Multitap1-Slot02.ps2 -Multitap1_Slot3_Enable = false -Multitap1_Slot3_Filename = Mcd-Multitap1-Slot03.ps2 -Multitap1_Slot4_Enable = false -Multitap1_Slot4_Filename = Mcd-Multitap1-Slot04.ps2 -Multitap2_Slot2_Enable = false -Multitap2_Slot2_Filename = Mcd-Multitap2-Slot02.ps2 -Multitap2_Slot3_Enable = false -Multitap2_Slot3_Filename = Mcd-Multitap2-Slot03.ps2 -Multitap2_Slot4_Enable = false -Multitap2_Slot4_Filename = Mcd-Multitap2-Slot04.ps2 - - -[Folders] -Bios = /storage/roms/bios/aethersx2/bios -Snapshots = snaps -Savestates = /storage/roms/savestates/ps2 -MemoryCards = /storage/roms/ps2 -Logs = logs -Cheats = cheats -CheatsWS = cheats_ws -CheatsNI = cheats_ni -Cache = cache -Textures = textures -InputProfiles = inputprofiles - - -[InputSources] -SDL = true -SDLControllerEnhancedMode = false -XInput = false -RawInput = false - - -[Hotkeys] -ToggleFullscreen = -CycleAspectRatio = SDL-0/Guide & SDL-0/Y -CycleInterlaceMode = -CycleMipmapMode = -GSDumpMultiFrame = -Screenshot = SDL-0/Guide & SDL-0/A -GSDumpSingleFrame = -ToggleSoftwareRendering = -ZoomIn = -ZoomOut = -InputRecToggleMode = -LoadStateFromSlot = SDL-0/Guide & SDL-0/LeftShoulder -SaveStateToSlot = SDL-0/Guide & SDL-0/RightShoulder -NextSaveStateSlot = -PreviousSaveStateSlot = -OpenPauseMenu = SDL-0/Guide & SDL-0/X -ToggleFrameLimit = -TogglePause = -ToggleSlowMotion = -ToggleTurbo = SDL-0/Guide & SDL-0/+RightTrigger -HoldTurbo = -ResetVM = SDL-0/Guide & SDL-0/B - -[Pad] -MultitapPort1 = false -MultitapPort2 = false -PointerXScale = 8.000000 -PointerYScale = 8.000000 -PointerXInvert = false -PointerYInvert = false - - -[Pad1] -Type = DualShock2 -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 -Up = SDL-0/DPadUp -Right = SDL-0/DPadRight -Down = SDL-0/DPadDown -Left = SDL-0/DPadLeft -Triangle = SDL-0/X -Circle = SDL-0/A -Cross = SDL-0/B -Square = SDL-0/Y -Select = SDL-0/Back -Start = SDL-0/Start -L1 = SDL-0/LeftShoulder -L2 = SDL-0/+LeftTrigger -R1 = SDL-0/RightShoulder -R2 = SDL-0/+RightTrigger -L3 = SDL-0/LeftStick -R3 = SDL-0/RightStick -LUp = SDL-0/-LeftY -LRight = SDL-0/+LeftX -LDown = SDL-0/+LeftY -LLeft = SDL-0/-LeftX -RUp = SDL-0/-RightY -RRight = SDL-0/+RightX -RDown = SDL-0/+RightY -RLeft = SDL-0/-RightX - - -[Pad2] -Type = None -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 - - -[Pad3] -Type = None -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 - - -[Pad4] -Type = None -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 - - -[Pad5] -Type = None -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 - - -[Pad6] -Type = None -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 - - -[Pad7] -Type = None -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 - - -[Pad8] -Type = None -Deadzone = 0.000000 -AxisScale = 1.330000 -LargeMotorScale = 1.000000 -SmallMotorScale = 1.000000 -PressureModifier = 0.500000 diff --git a/projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566 b/projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566 new file mode 120000 index 00000000000..72081d3859b --- /dev/null +++ b/projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566 @@ -0,0 +1 @@ +InputPlumber \ No newline at end of file diff --git a/projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566/qt-config.ini b/projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566/qt-config.ini deleted file mode 100644 index 98aafa586c0..00000000000 --- a/projects/ROCKNIX/packages/emulators/standalone/azahar-sa/config/RK3566/qt-config.ini +++ /dev/null @@ -1,725 +0,0 @@ -[Audio] -audio_emulation=0 -audio_emulation\default=true -enable_audio_stretching=true -enable_audio_stretching\default=true -enable_realtime_audio=false -enable_realtime_audio\default=true -input_device=Auto -input_device\default=true -input_type=0 -input_type\default=true -output_device=Auto -output_device\default=true -output_type=0 -output_type\default=true -volume=1 -volume\default=true - -[Camera] -camera_inner_config= -camera_inner_config\default=true -camera_inner_flip=0 -camera_inner_flip\default=true -camera_inner_name=blank -camera_inner_name\default=true -camera_outer_left_config= -camera_outer_left_config\default=true -camera_outer_left_flip=0 -camera_outer_left_flip\default=true -camera_outer_left_name=blank -camera_outer_left_name\default=true -camera_outer_right_config= -camera_outer_right_config\default=true -camera_outer_right_flip=0 -camera_outer_right_flip\default=true -camera_outer_right_name=blank -camera_outer_right_name\default=true - -[Controls] -profile=0 -profile\default=true -profiles\1\button_a="button:1,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_a\default=false -profiles\1\button_b="button:0,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_b\default=false -profiles\1\button_debug="code:79,engine:keyboard" -profiles\1\button_debug\default=true -profiles\1\button_down="button:14,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_down\default=false -profiles\1\button_gpio14="code:80,engine:keyboard" -profiles\1\button_gpio14\default=true -profiles\1\button_home="code:66,engine:keyboard" -profiles\1\button_home\default=true -profiles\1\button_l="button:4,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_l\default=false -profiles\1\button_left="button:15,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_left\default=false -profiles\1\button_power="code:86,engine:keyboard" -profiles\1\button_power\default=true -profiles\1\button_r="button:5,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_r\default=false -profiles\1\button_right="button:16,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_right\default=false -profiles\1\button_select="button:8,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_select\default=false -profiles\1\button_start="button:9,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_start\default=false -profiles\1\button_up="button:13,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_up\default=false -profiles\1\button_x="button:2,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_x\default=false -profiles\1\button_y="button:3,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0" -profiles\1\button_y\default=false -profiles\1\button_zl="button:6,direction:+,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0,threshold:0.5" -profiles\1\button_zl\default=false -profiles\1\button_zr="button:7,direction:+,engine:sdl,guid:19009b4d4b4800000111000000010000,port:0,threshold:0.5" -profiles\1\button_zr\default=false -profiles\1\c_stick="down:axis$03$1direction$0+$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$00.5,engine:analog_from_button,left:axis$02$1direction$0-$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$0-0.5,modifier:code$068$1engine$0keyboard,modifier_scale:0.500000,right:axis$02$1direction$0+$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$00.5,up:axis$03$1direction$0-$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$0-0.5" -profiles\1\c_stick\default=false -profiles\1\circle_pad="down:axis$01$1direction$0+$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$00.5,engine:analog_from_button,left:axis$00$1direction$0-$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$0-0.5,modifier:code$068$1engine$0keyboard,modifier_scale:0.500000,right:axis$00$1direction$0+$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$00.5,up:axis$01$1direction$0-$1engine$0sdl$1guid$019009b4d4b4800000111000000010000$1port$00$1threshold$0-0.5" -profiles\1\circle_pad\default=false -profiles\1\controller_touch_device= -profiles\1\controller_touch_device\default=true -profiles\1\motion_device="engine:motion_emu,update_period:100,sensitivity:0.01,tilt_clamp:90.0" -profiles\1\motion_device\default=true -profiles\1\name=default -profiles\1\name\default=true -profiles\1\touch_device=engine:emu_window -profiles\1\touch_device\default=true -profiles\1\touch_from_button_map=0 -profiles\1\touch_from_button_map\default=true -profiles\1\udp_input_address=127.0.0.1 -profiles\1\udp_input_address\default=true -profiles\1\udp_input_port=26760 -profiles\1\udp_input_port\default=true -profiles\1\udp_pad_index=0 -profiles\1\udp_pad_index\default=true -profiles\1\use_touch_from_button=false -profiles\1\use_touch_from_button\default=true -profiles\1\use_touchpad=false -profiles\1\use_touchpad\default=true -profiles\size=1 -touch_from_button_maps\1\entries\size=0 -touch_from_button_maps\1\name=default -touch_from_button_maps\1\name\default=true -touch_from_button_maps\size=1 -use_artic_base_controller=false -use_artic_base_controller\default=true - -[Core] -cpu_clock_percentage=100 -cpu_clock_percentage\default=true -delay_start_for_lle_modules=true -delay_start_for_lle_modules\default=true -use_cpu_jit=true -use_cpu_jit\default=true - -[Data%20Storage] -compress_cia_installs=false -compress_cia_installs\default=true -nand_directory=/storage/.local/share/azahar/nand/ -nand_directory\default=false -sdmc_directory=/storage/.local/share/azahar/sdmc/ -sdmc_directory\default=false -use_custom_storage=false -use_custom_storage\default=true -use_virtual_sd=true -use_virtual_sd\default=true - -[Debugging] -LLE\AC=false -LLE\AC\default=true -LLE\ACT=false -LLE\ACT\default=true -LLE\AM=false -LLE\AM\default=true -LLE\BOSS=false -LLE\BOSS\default=true -LLE\CAM=false -LLE\CAM\default=true -LLE\CDC=false -LLE\CDC\default=true -LLE\CECD=false -LLE\CECD\default=true -LLE\CFG=false -LLE\CFG\default=true -LLE\CSND=false -LLE\CSND\default=true -LLE\DLP=false -LLE\DLP\default=true -LLE\DSP=false -LLE\DSP\default=true -LLE\ERR=false -LLE\ERR\default=true -LLE\FRD=false -LLE\FRD\default=true -LLE\FS=false -LLE\FS\default=true -LLE\GPIO=false -LLE\GPIO\default=true -LLE\GSP=false -LLE\GSP\default=true -LLE\HID=false -LLE\HID\default=true -LLE\HTTP=false -LLE\HTTP\default=true -LLE\I2C=false -LLE\I2C\default=true -LLE\IR=false -LLE\IR\default=true -LLE\LDR=false -LLE\LDR\default=true -LLE\MCU=false -LLE\MCU\default=true -LLE\MIC=false -LLE\MIC\default=true -LLE\MP=false -LLE\MP\default=true -LLE\MVD=false -LLE\MVD\default=true -LLE\NDM=false -LLE\NDM\default=true -LLE\NEWS=false -LLE\NEWS\default=true -LLE\NFC=false -LLE\NFC\default=true -LLE\NIM=false -LLE\NIM\default=true -LLE\NS=false -LLE\NS\default=true -LLE\NWM=false -LLE\NWM\default=true -LLE\PDN=false -LLE\PDN\default=true -LLE\PLGLDR=false -LLE\PLGLDR\default=true -LLE\PM=false -LLE\PM\default=true -LLE\PS=false -LLE\PS\default=true -LLE\PTM=false -LLE\PTM\default=true -LLE\PXI=false -LLE\PXI\default=true -LLE\QTM=false -LLE\QTM\default=true -LLE\SOC=false -LLE\SOC\default=true -LLE\SPI=false -LLE\SPI\default=true -LLE\SSL=false -LLE\SSL\default=true -enable_rpc_server=false -enable_rpc_server\default=true -gdbstub_port=24689 -gdbstub_port\default=true -instant_debug_log=false -instant_debug_log\default=true -record_frame_times=false -renderer_debug=false -renderer_debug\default=true -toggle_unique_data_console_type=false -toggle_unique_data_console_type\default=true -use_gdbstub=false -use_gdbstub\default=true - -[Layout] -anaglyph_shader_name=Dubois (builtin) -anaglyph_shader_name\default=true -custom_bottom_height=480 -custom_bottom_height\default=true -custom_bottom_width=640 -custom_bottom_width\default=true -custom_bottom_x=80 -custom_bottom_x\default=true -custom_bottom_y=500 -custom_bottom_y\default=true -custom_portrait_bottom_height=480 -custom_portrait_bottom_height\default=true -custom_portrait_bottom_width=640 -custom_portrait_bottom_width\default=true -custom_portrait_bottom_x=80 -custom_portrait_bottom_x\default=true -custom_portrait_bottom_y=500 -custom_portrait_bottom_y\default=true -custom_portrait_top_height=480 -custom_portrait_top_height\default=true -custom_portrait_top_width=800 -custom_portrait_top_width\default=true -custom_portrait_top_x=0 -custom_portrait_top_x\default=true -custom_portrait_top_y=0 -custom_portrait_top_y\default=true -custom_second_layer_opacity=100 -custom_second_layer_opacity\default=true -custom_top_height=480 -custom_top_height\default=true -custom_top_width=800 -custom_top_width\default=true -custom_top_x=0 -custom_top_x\default=true -custom_top_y=0 -custom_top_y\default=true -factor_3d=0 -factor_3d\default=true -filter_mode=true -filter_mode\default=true -large_screen_proportion=2 -large_screen_proportion\default=false -layout_option=4 -layout_option\default=false -layouts_to_cycle=0, 1, 2, 3 -layouts_to_cycle\default=false -mono_render_option=0 -mono_render_option\default=true -pp_shader_name=None (builtin) -pp_shader_name\default=true -render_3d=0 -render_3d\default=true -render_3d_which_display=0 -render_3d_which_display\default=true -screen_bottom_leftright_padding=0 -screen_bottom_leftright_padding\default=true -screen_bottom_stretch=false -screen_bottom_stretch\default=true -screen_bottom_topbottom_padding=0 -screen_bottom_topbottom_padding\default=true -screen_gap=0 -screen_gap\default=true -screen_top_leftright_padding=0 -screen_top_leftright_padding\default=true -screen_top_stretch=false -screen_top_stretch\default=true -screen_top_topbottom_padding=0 -screen_top_topbottom_padding\default=true -small_screen_position=2 -small_screen_position\default=true -swap_eyes_3d=false -swap_eyes_3d\default=true -swap_screen=false -swap_screen\default=true -upright_screen=false -upright_screen\default=true - -[Miscellaneous] -check_for_update_on_start=true -check_for_update_on_start\default=true -enable_gamemode=true -enable_gamemode\default=true -log_filter=*:Info -log_filter\default=true -log_regex_filter= -log_regex_filter\default=true -update_check_channel=0 -update_check_channel\default=true - -[Renderer] -async_presentation=true -async_presentation\default=true -async_shader_compilation=false -async_shader_compilation\default=true -bg_blue=0 -bg_blue\default=true -bg_green=0 -bg_green\default=true -bg_red=0 -bg_red\default=true -delay_game_render_thread_us=@Variant(\0\0\0\x85\0\0) -delay_game_render_thread_us\default=true -disable_right_eye_render=true -disable_right_eye_render\default=false -disable_spirv_optimizer=true -disable_spirv_optimizer\default=true -frame_limit=100 -frame_limit\default=true -graphics_api=2 -graphics_api\default=false -physical_device=0 -physical_device\default=true -resolution_factor=1 -resolution_factor\default=true -shaders_accurate_mul=true -shaders_accurate_mul\default=true -spirv_shader_gen=true -spirv_shader_gen\default=true -texture_filter=0 -texture_filter\default=true -texture_sampling=0 -texture_sampling\default=true -turbo_limit=200 -turbo_limit\default=true -use_disk_shader_cache=true -use_disk_shader_cache\default=true -use_display_refresh_rate_detection=true -use_display_refresh_rate_detection\default=true -use_hw_shader=true -use_hw_shader\default=true -use_integer_scaling=false -use_integer_scaling\default=true -use_shader_jit=false -use_shader_jit\default=false -use_vsync=true -use_vsync\default=true -use_vsync_new=true -use_vsync_new\default=true - -[System] -allow_plugin_loader=true -allow_plugin_loader\default=true -apply_region_free_patch=true -apply_region_free_patch\default=true -enable_required_online_lle_modules=false -enable_required_online_lle_modules\default=true -init_clock=0 -init_clock\default=true -init_ticks_override=@Variant(\0\0\0\x81\0\0\0\0\0\0\0\0) -init_ticks_override\default=true -init_ticks_type=0 -init_ticks_type\default=true -init_time=@Variant(\0\0\0\x84\0\0\0\0\x38m5\xbd) -init_time\default=true -init_time_offset=@Variant(\0\0\0\x81\0\0\0\0\0\0\0\0) -init_time_offset\default=true -is_new_3ds=false -is_new_3ds\default=false -lle_applets=true -lle_applets\default=true -plugin_loader=false -plugin_loader\default=true -region_value=-1 -region_value\default=true -steps_per_hour=0 -steps_per_hour\default=true - -[UI] -GameList\favorites\size=0 -GameList\hideNoIcon=false -GameList\hideNoIcon\default=true -GameList\iconSize=2 -GameList\iconSize\default=true -GameList\row1=2 -GameList\row1\default=true -GameList\row2=0 -GameList\row2\default=true -GameList\show_3ds_files_warning=true -GameList\show_3ds_files_warning\default=true -GameList\show_compat_column=true -GameList\show_compat_column\default=true -GameList\show_play_time_column=true -GameList\show_play_time_column\default=true -GameList\show_region_column=true -GameList\show_region_column\default=true -GameList\show_size_column=true -GameList\show_size_column\default=true -GameList\show_type_column=true -GameList\show_type_column\default=true -GameList\singleLineMode=false -GameList\singleLineMode\default=true -Multiplayer\game_id=0 -Multiplayer\game_id\default=true -Multiplayer\host_type=0 -Multiplayer\host_type\default=true -Multiplayer\ip= -Multiplayer\ip\default=true -Multiplayer\ip_ban_list\size=0 -Multiplayer\max_player=8 -Multiplayer\max_player\default=true -Multiplayer\multiplayer_filter_games_owned=false -Multiplayer\multiplayer_filter_games_owned\default=true -Multiplayer\multiplayer_filter_hide_empty=false -Multiplayer\multiplayer_filter_hide_empty\default=true -Multiplayer\multiplayer_filter_hide_full=false -Multiplayer\multiplayer_filter_hide_full\default=true -Multiplayer\multiplayer_filter_text= -Multiplayer\multiplayer_filter_text\default=true -Multiplayer\nickname= -Multiplayer\nickname\default=true -Multiplayer\port=24872 -Multiplayer\port\default=true -Multiplayer\room_description= -Multiplayer\room_description\default=true -Multiplayer\room_name= -Multiplayer\room_name\default=true -Multiplayer\room_nickname= -Multiplayer\room_nickname\default=true -Multiplayer\room_port=24872 -Multiplayer\room_port\default=true -Multiplayer\username_ban_list\size=0 -Paths\gamedirs\1\deep_scan=false -Paths\gamedirs\1\deep_scan\default=true -Paths\gamedirs\1\expanded=true -Paths\gamedirs\1\expanded\default=true -Paths\gamedirs\1\path=INSTALLED -Paths\gamedirs\2\deep_scan=false -Paths\gamedirs\2\deep_scan\default=true -Paths\gamedirs\2\expanded=true -Paths\gamedirs\2\expanded\default=true -Paths\gamedirs\2\path=SYSTEM -Paths\gamedirs\size=2 -Paths\inserted_cartridge= -Paths\inserted_cartridge\default=true -Paths\language=en -Paths\language\default=false -Paths\last_artic_base_addr= -Paths\last_artic_base_addr\default=true -Paths\moviePlaybackPath= -Paths\movieRecordPath= -Paths\recentFiles=/storage/roms/3ds/etrian.3ds, /storage/roms/3ds/Radiant Historia - Perfect Chronology (USA).3ds, /storage/roms/3ds/Monster Hunter Stories (USA).3ds, /storage/roms/3ds/Fire Emblem - Awakening.3ds, /storage/roms/3ds/Etrian Odyssey Untold - The Millennium Girl (USA).3ds, /storage/roms/3ds/azahar/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/00133300/content/00000000.app, /storage/roms/3ds/azahar/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/0018f400/content/00000000.app, /storage/roms/3ds/azahar/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/0018f400/content/00000001.app, /storage/roms/3ds/azahar/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/001bd200/content/00000000.app, /storage/roms/3ds/azahar/sdmc/Nintendo 3DS/00000000000000000000000000000000/00000000000000000000000000000000/title/00040000/000f1400/content/00000000.app -Paths\romsPath= -Paths\screenshotPath=/storage/.local/share/lime3ds/screenshots/ -Paths\screenshotPath\default=false -Paths\symbolsPath= -Paths\videoDumpingPath= -Shortcuts\Main%20Window\Advance%20Frame\Context=2 -Shortcuts\Main%20Window\Advance%20Frame\Context\default=true -Shortcuts\Main%20Window\Advance%20Frame\KeySeq= -Shortcuts\Main%20Window\Advance%20Frame\KeySeq\default=true -Shortcuts\Main%20Window\Audio%20Mute\Unmute\Context=1 -Shortcuts\Main%20Window\Audio%20Mute\Unmute\Context\default=true -Shortcuts\Main%20Window\Audio%20Mute\Unmute\KeySeq=Ctrl+M -Shortcuts\Main%20Window\Audio%20Mute\Unmute\KeySeq\default=true -Shortcuts\Main%20Window\Audio%20Volume%20Down\Context=1 -Shortcuts\Main%20Window\Audio%20Volume%20Down\Context\default=true -Shortcuts\Main%20Window\Audio%20Volume%20Down\KeySeq= -Shortcuts\Main%20Window\Audio%20Volume%20Down\KeySeq\default=true -Shortcuts\Main%20Window\Audio%20Volume%20Up\Context=1 -Shortcuts\Main%20Window\Audio%20Volume%20Up\Context\default=true -Shortcuts\Main%20Window\Audio%20Volume%20Up\KeySeq= -Shortcuts\Main%20Window\Audio%20Volume%20Up\KeySeq\default=true -Shortcuts\Main%20Window\Capture%20Screenshot\Context=3 -Shortcuts\Main%20Window\Capture%20Screenshot\Context\default=true -Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq=Ctrl+P -Shortcuts\Main%20Window\Capture%20Screenshot\KeySeq\default=true -Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context=1 -Shortcuts\Main%20Window\Continue\Pause%20Emulation\Context\default=true -Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq=F4 -Shortcuts\Main%20Window\Continue\Pause%20Emulation\KeySeq\default=true -Shortcuts\Main%20Window\Decrease%203D%20Factor\Context=2 -Shortcuts\Main%20Window\Decrease%203D%20Factor\Context\default=true -Shortcuts\Main%20Window\Decrease%203D%20Factor\KeySeq=Ctrl+- -Shortcuts\Main%20Window\Decrease%203D%20Factor\KeySeq\default=true -Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context=2 -Shortcuts\Main%20Window\Decrease%20Speed%20Limit\Context\default=true -Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq=- -Shortcuts\Main%20Window\Decrease%20Speed%20Limit\KeySeq\default=true -Shortcuts\Main%20Window\Exit%20Azahar\Context=1 -Shortcuts\Main%20Window\Exit%20Azahar\Context\default=true -Shortcuts\Main%20Window\Exit%20Azahar\KeySeq=Ctrl+Q -Shortcuts\Main%20Window\Exit%20Azahar\KeySeq\default=true -Shortcuts\Main%20Window\Exit%20Fullscreen\Context=1 -Shortcuts\Main%20Window\Exit%20Fullscreen\Context\default=true -Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq=Esc -Shortcuts\Main%20Window\Exit%20Fullscreen\KeySeq\default=true -Shortcuts\Main%20Window\Exit%20Lime3DS\Context=1 -Shortcuts\Main%20Window\Exit%20Lime3DS\Context\default=true -Shortcuts\Main%20Window\Exit%20Lime3DS\KeySeq=Ctrl+Q -Shortcuts\Main%20Window\Exit%20Lime3DS\KeySeq\default=true -Shortcuts\Main%20Window\Fullscreen\Context=1 -Shortcuts\Main%20Window\Fullscreen\Context\default=true -Shortcuts\Main%20Window\Fullscreen\KeySeq=F11 -Shortcuts\Main%20Window\Fullscreen\KeySeq\default=true -Shortcuts\Main%20Window\Increase%203D%20Factor\Context=2 -Shortcuts\Main%20Window\Increase%203D%20Factor\Context\default=true -Shortcuts\Main%20Window\Increase%203D%20Factor\KeySeq=Ctrl++ -Shortcuts\Main%20Window\Increase%203D%20Factor\KeySeq\default=true -Shortcuts\Main%20Window\Increase%20Speed%20Limit\Context=2 -Shortcuts\Main%20Window\Increase%20Speed%20Limit\Context\default=true -Shortcuts\Main%20Window\Increase%20Speed%20Limit\KeySeq=+ -Shortcuts\Main%20Window\Increase%20Speed%20Limit\KeySeq\default=true -Shortcuts\Main%20Window\Load%20Amiibo\Context=3 -Shortcuts\Main%20Window\Load%20Amiibo\Context\default=true -Shortcuts\Main%20Window\Load%20Amiibo\KeySeq=F2 -Shortcuts\Main%20Window\Load%20Amiibo\KeySeq\default=true -Shortcuts\Main%20Window\Load%20File\Context=3 -Shortcuts\Main%20Window\Load%20File\Context\default=true -Shortcuts\Main%20Window\Load%20File\KeySeq=Ctrl+O -Shortcuts\Main%20Window\Load%20File\KeySeq\default=true -Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\Context=1 -Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\Context\default=true -Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\KeySeq=Ctrl+V -Shortcuts\Main%20Window\Load%20from%20Newest%20Non-Quicksave%20Slot\KeySeq\default=true -Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context=1 -Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\Context\default=true -Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq=Ctrl+V -Shortcuts\Main%20Window\Load%20from%20Newest%20Slot\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\KeySeq=Ctrl+B -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Game%20Lobby\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\KeySeq=Ctrl+B -Shortcuts\Main%20Window\Multiplayer%20Browse%20Public%20Rooms\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\KeySeq=Ctrl+N -Shortcuts\Main%20Window\Multiplayer%20Create%20Room\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\KeySeq=Ctrl+Shift -Shortcuts\Main%20Window\Multiplayer%20Direct%20Connect%20to%20Room\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\KeySeq=Ctrl+L -Shortcuts\Main%20Window\Multiplayer%20Leave%20Room\KeySeq\default=true -Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\Context=2 -Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\Context\default=true -Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\KeySeq=Ctrl+R -Shortcuts\Main%20Window\Multiplayer%20Show%20Current%20Room\KeySeq\default=true -Shortcuts\Main%20Window\Quick%20Load\Context=1 -Shortcuts\Main%20Window\Quick%20Load\Context\default=true -Shortcuts\Main%20Window\Quick%20Load\KeySeq= -Shortcuts\Main%20Window\Quick%20Load\KeySeq\default=true -Shortcuts\Main%20Window\Quick%20Save\Context=1 -Shortcuts\Main%20Window\Quick%20Save\Context\default=true -Shortcuts\Main%20Window\Quick%20Save\KeySeq= -Shortcuts\Main%20Window\Quick%20Save\KeySeq\default=true -Shortcuts\Main%20Window\Remove%20Amiibo\Context=2 -Shortcuts\Main%20Window\Remove%20Amiibo\Context\default=true -Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq=F3 -Shortcuts\Main%20Window\Remove%20Amiibo\KeySeq\default=true -Shortcuts\Main%20Window\Restart%20Emulation\Context=1 -Shortcuts\Main%20Window\Restart%20Emulation\Context\default=true -Shortcuts\Main%20Window\Restart%20Emulation\KeySeq=F6 -Shortcuts\Main%20Window\Restart%20Emulation\KeySeq\default=true -Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context=1 -Shortcuts\Main%20Window\Rotate%20Screens%20Upright\Context\default=true -Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq=F8 -Shortcuts\Main%20Window\Rotate%20Screens%20Upright\KeySeq\default=true -Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\Context=1 -Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\Context\default=true -Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\KeySeq=Ctrl+C -Shortcuts\Main%20Window\Save%20to%20Oldest%20Non-Quicksave%20Slot\KeySeq\default=true -Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context=1 -Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\Context\default=true -Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq=Ctrl+C -Shortcuts\Main%20Window\Save%20to%20Oldest%20Slot\KeySeq\default=true -Shortcuts\Main%20Window\Stop%20Emulation\Context=1 -Shortcuts\Main%20Window\Stop%20Emulation\Context\default=true -Shortcuts\Main%20Window\Stop%20Emulation\KeySeq=F5 -Shortcuts\Main%20Window\Stop%20Emulation\KeySeq\default=true -Shortcuts\Main%20Window\Swap%20Screens\Context=1 -Shortcuts\Main%20Window\Swap%20Screens\Context\default=true -Shortcuts\Main%20Window\Swap%20Screens\KeySeq=F9 -Shortcuts\Main%20Window\Swap%20Screens\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%203D\Context=2 -Shortcuts\Main%20Window\Toggle%203D\Context\default=true -Shortcuts\Main%20Window\Toggle%203D\KeySeq=Ctrl+3 -Shortcuts\Main%20Window\Toggle%203D\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Custom%20Textures\Context=2 -Shortcuts\Main%20Window\Toggle%20Custom%20Textures\Context\default=true -Shortcuts\Main%20Window\Toggle%20Custom%20Textures\KeySeq=F7 -Shortcuts\Main%20Window\Toggle%20Custom%20Textures\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context=1 -Shortcuts\Main%20Window\Toggle%20Filter%20Bar\Context\default=true -Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq=Ctrl+F -Shortcuts\Main%20Window\Toggle%20Filter%20Bar\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context=2 -Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\Context\default=true -Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq=Ctrl+A -Shortcuts\Main%20Window\Toggle%20Frame%20Advancing\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Per-Application%20Speed\Context=2 -Shortcuts\Main%20Window\Toggle%20Per-Application%20Speed\Context\default=true -Shortcuts\Main%20Window\Toggle%20Per-Application%20Speed\KeySeq=Ctrl+Z -Shortcuts\Main%20Window\Toggle%20Per-Application%20Speed\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\Context=2 -Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\Context\default=true -Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\KeySeq=Ctrl+Z -Shortcuts\Main%20Window\Toggle%20Per-Game%20Speed\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context=1 -Shortcuts\Main%20Window\Toggle%20Screen%20Layout\Context\default=true -Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq=F10 -Shortcuts\Main%20Window\Toggle%20Screen%20Layout\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context=1 -Shortcuts\Main%20Window\Toggle%20Status%20Bar\Context\default=true -Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq=Ctrl+S -Shortcuts\Main%20Window\Toggle%20Status%20Bar\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context=2 -Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\Context\default=true -Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq= -Shortcuts\Main%20Window\Toggle%20Texture%20Dumping\KeySeq\default=true -Shortcuts\Main%20Window\Toggle%20Turbo%20Mode\Context=2 -Shortcuts\Main%20Window\Toggle%20Turbo%20Mode\Context\default=true -Shortcuts\Main%20Window\Toggle%20Turbo%20Mode\KeySeq= -Shortcuts\Main%20Window\Toggle%20Turbo%20Mode\KeySeq\default=true -UILayout\gameListHeaderState="@ByteArray(\0\0\0\xff\0\0\0\0\0\0\0\x1\0\0\0\x1\0\0\0\x6\x1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\x3\xe2\0\0\0\x6\x1\x1\0\x1\0\0\0\0\0\0\0\0\0\0\0\0\x64\xff\xff\xff\xff\0\0\0\x81\0\0\0\0\0\0\0\x6\0\0\x2\x80\0\0\0\x1\0\0\0\0\0\0\0\x62\0\0\0\x1\0\0\0\0\0\0\0=\0\0\0\x1\0\0\0\0\0\0\0G\0\0\0\x1\0\0\0\0\0\0\0\x30\0\0\0\x1\0\0\0\0\0\0\0L\0\0\0\x1\0\0\0\0\0\0\x3\xe8\0\0\0\0L\0\0\0\0)" -UILayout\geometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\xd6\0\0\0\xd8\0\0\x4*\0\0\x2\xb7\0\0\0\xd6\0\0\0\xd8\0\0\x4*\0\0\x2\xb7\0\0\0\0\0\0\0\0\x5\0\0\0\0\xd6\0\0\0\xd8\0\0\x4*\0\0\x2\xb7) -UILayout\geometryRenderWindow=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\x1\0\0\0\x19\0\0\0\x64\0\0\0\x36\0\0\0\0\0\0\0\0\xff\xff\xff\xff\xff\xff\xff\xff\0\0\0\0\0\0\0\0\x5\0\0\0\0\x1\0\0\0\x19\0\0\0\x64\0\0\0\x36) -UILayout\microProfileDialogGeometry=@ByteArray(\x1\xd9\xd0\xcb\0\x3\0\0\0\0\0\x1\0\0\0\x19\0\0\x3T\0\0\x1\xde\0\0\0\x1\0\0\0\x19\0\0\x3T\0\0\x1\xde\0\0\0\0\0\0\0\0\x3V\0\0\0\x1\0\0\0\x19\0\0\x3T\0\0\x1\xde) -UILayout\microProfileDialogVisible=false -UILayout\microProfileDialogVisible\default=true -UILayout\state=@ByteArray(\0\0\0\xff\0\0\0\0\xfd\0\0\0\x2\0\0\0\0\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\x1\xfb\0\0\0\x1c\0W\0\x61\0i\0t\0T\0r\0\x65\0\x65\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\0\0\0\x1\0\0\0\0\0\0\0\0\xfc\x2\0\0\0\b\xfb\0\0\0\x18\0\x41\0R\0M\0R\0\x65\0g\0i\0s\0t\0\x65\0r\0s\0\0\0\0\0\xff\xff\xff\xff\0\0\0h\0\xff\xff\xff\xfb\0\0\0 \0G\0r\0\x61\0p\0h\0i\0\x63\0s\0\x44\0\x65\0\x62\0u\0g\0g\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\"\0P\0i\0\x63\0\x61\0 \0\x43\0o\0m\0m\0\x61\0n\0\x64\0 \0L\0i\0s\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x84\0\xff\xff\xff\xfb\0\0\0*\0P\0i\0\x63\0\x61\0\x42\0r\0\x65\0\x61\0k\0P\0o\0i\0n\0t\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x84\0\xff\xff\xff\xfb\0\0\0 \0P\0i\0\x63\0\x61\0V\0\x65\0r\0t\0\x65\0x\0S\0h\0\x61\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\x1\xa6\0\xff\xff\xff\xfb\0\0\0\x12\0\x43\0i\0T\0r\0\x61\0\x63\0i\0n\0g\0\0\0\0\0\xff\xff\xff\xff\0\0\0\x38\0\xff\xff\xff\xfb\0\0\0.\0L\0L\0\x45\0S\0\x65\0r\0v\0i\0\x63\0\x65\0M\0o\0\x64\0u\0l\0\x65\0s\0W\0i\0\x64\0g\0\x65\0t\0\0\0\0\0\xff\xff\xff\xff\0\0\0V\0\xff\xff\xff\xfb\0\0\0\x16\0I\0P\0\x43\0R\0\x65\0\x63\0o\0r\0\x64\0\x65\0r\0\0\0\0\0\xff\xff\xff\xff\0\0\0\xba\0\xff\xff\xff\0\0\x3H\0\0\0\xc2\0\0\0\x4\0\0\0\x4\0\0\0\b\0\0\0\b\xfc\0\0\0\0) -Updater\check_for_update_on_start=true -Updater\check_for_update_on_start\default=true -Updater\update_on_close=false -Updater\update_on_close\default=true -calloutFlags=0 -calloutFlags\default=true -confirmClose=true -confirmClose\default=true -displayTitleBars=true -displayTitleBars\default=true -enable_discord_presence=true -enable_discord_presence\default=true -firstStart=false -firstStart\default=false -fullscreen=true -fullscreen\default=false -hideInactiveMouse=false -hideInactiveMouse\default=true -muteWhenInBackground=false -muteWhenInBackground\default=true -pauseWhenInBackground=false -pauseWhenInBackground\default=true -saveStateWarning=true -saveStateWarning\default=true -screenshot_resolution_factor=0 -screenshot_resolution_factor\default=true -showConsole=false -showConsole\default=true -showFilterBar=true -showFilterBar\default=true -showStatusBar=true -showStatusBar\default=true -show_advanced_frametime_info=false -show_advanced_frametime_info\default=true -singleWindowMode=true -singleWindowMode\default=true -theme=default -theme\default=true - -[Utility] -async_custom_loading=true -async_custom_loading\default=true -custom_textures=false -custom_textures\default=true -dump_textures=false -dump_textures\default=true -preload_textures=false -preload_textures\default=true - -[VideoDumping] -audio_bitrate=64000 -audio_bitrate\default=true -audio_encoder=libvorbis -audio_encoder\default=true -audio_encoder_options= -audio_encoder_options\default=true -format_options= -output_format=webm -output_format\default=true -video_bitrate=2500000 -video_bitrate\default=true -video_encoder=libvpx-vp9 -video_encoder\default=true -video_encoder_options="quality:realtime,speed:6,tile-columns:4,frame-parallel:1,threads:8,row-mt:1" -video_encoder_options\default=true - -[WebService] -citra_token= -citra_username= -lime3ds_token= -lime3ds_username= -web_api_url=https://api.citra-emu.org -web_api_url\default=true diff --git a/projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566 b/projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566 new file mode 120000 index 00000000000..72081d3859b --- /dev/null +++ b/projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566 @@ -0,0 +1 @@ +InputPlumber \ No newline at end of file diff --git a/projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566/settings.ini b/projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566/settings.ini deleted file mode 100644 index 8e371595a96..00000000000 --- a/projects/ROCKNIX/packages/emulators/standalone/duckstation-sa/config/RK3566/settings.ini +++ /dev/null @@ -1,242 +0,0 @@ -[Main] -SettingsVersion = 3 -StartFullscreen = true -EmulationSpeed = 1.000000 -FastForwardSpeed = 0.000000 -TurboSpeed = 0.000000 -SyncToHostRefreshRate = false -IncreaseTimerResolution = true -InhibitScreensaver = true -StartPaused = false -PauseOnFocusLoss = false -PauseOnMenu = true -SaveStateOnExit = true -ConfirmPowerOff = false -LoadDevicesFromSaveStates = false -ApplyGameSettings = true -AutoLoadCheats = true -DisableAllEnhancements = false -RewindEnable = false -RewindFrequency = 10.000000 -RewindSaveSlots = 10 -RunaheadFrameCount = 0 -NoDesktopFile = true - -[AutoUpdater] -CheckAtStartup = false - -[BIOS] -SearchDirectory = /storage/roms/bios -PathNTSCU = -PathNTSCJ = -PathPAL = -PatchTTYEnable = false -PatchFastBoot = true - - -[GPU] -Renderer = Software -Adapter = -ResolutionScale = 1 -Multisamples = 1 -UseDebugDevice = false -PerSampleShading = false -UseThread = true -ThreadedPresentation = true -UseSoftwareRendererForReadbacks = false -TrueColor = false -ScaledDithering = false -TextureFilter = Nearest -DownsampleMode = Disabled -DisableInterlacing = false -ForceNTSCTimings = false -WidescreenHack = false -ChromaSmoothing24Bit = false -PGXPEnable = false -PGXPCulling = true -PGXPTextureCorrection = true -PGXPVertexCache = false -PGXPCPU = false -PGXPPreserveProjFP = false -PGXPTolerance = -1.000000 -PGXPDepthBuffer = false -PGXPDepthClearThreshold = 300.000000 - - -[Display] -CropMode = Overscan -ActiveStartOffset = 0 -ActiveEndOffset = 0 -LineStartOffset = 0 -LineEndOffset = 0 -Force4_3For24Bit = false -AspectRatio = 4:3 -CustomAspectRatioNumerator = 4 -LinearFiltering = true -IntegerScaling = false -Stretch = false -PostProcessing = false -ShowOSDMessages = true -ShowFPS = false -ShowVPS = false -ShowSpeed = false -ShowResolution = false -ShowStatusIndicators = true -ShowEnhancements = false -DisplayAllFrames = true -VSync = false -MaxFPS = 0.000000 -Rotation = 0 - - -[Hotkeys] -OpenPauseMenu = SDL-0/Back & SDL-0/X -FastForward = SDL-0/Back & SDL-0/+RightTrigger -Screenshot = SDL-0/Back & SDL-0/A -LoadSelectedSaveState = SDL-0/Back & SDL-0/LeftShoulder -SaveSelectedSaveState = SDL-0/Back & SDL-0/RightShoulder -PowerOff = SDL-0/Back & SDL-0/Start - -[Logging] -LogLevel = Error -LogFilter = -LogToConsole = false -LogToDebug = false -LogToWindow = false -LogToFile = false - - -[GameList] -RecursivePaths = /storage/roms/psx - - -[MemoryCards] -UsePlaylistTitle = true -Directory = /storage/roms/psx -Card1Type = PerGameTitle -Card2Type = None - - -[Console] -Region = Auto -Enable8MBRAM = false - - -[CPU] -ExecutionMode = Recompiler -OverclockEnable = false -OverclockNumerator = 1 -OverclockDenominator = 1 -RecompilerMemoryExceptions = false -RecompilerBlockLinking = true -RecompilerICache = false -FastmemMode = MMap - - -[CDROM] -ReadaheadSectors = 8 -RegionCheck = false -LoadImageToRAM = false -MuteCDAudio = false -ReadSpeedup = 1 -SeekSpeedup = 1 - - -[Audio] -Backend = SDL -OutputVolume = 100 -FastForwardVolume = 100 -BufferSize = 2048 -Resampling = true -OutputMuted = false -Sync = true -DumpOnBoot = false - - -[Hacks] -DMAMaxSliceTicks = 1000 -DMAHaltTicks = 100 -GPUFIFOSize = 16 -GPUMaxRunAhead = 128 - -[Controller1] -Type = AnalogController - - -[Controller2] -Type = None - - -[Controller3] -Type = None - - -[Controller4] -Type = None - - -[Controller5] -Type = None - - -[Controller6] -Type = None - - -[Controller7] -Type = None - - -[Controller8] -Type = None - - -[ControllerPorts] -MultitapMode = Disabled - - -[Debug] -ShowVRAM = false -DumpCPUToVRAMCopies = false -DumpVRAMToCPUCopies = false -ShowGPUState = false -ShowCDROMState = false -ShowSPUState = false -ShowTimersState = false -ShowMDECState = false -ShowDMAState = false - - -[TextureReplacements] -EnableVRAMWriteReplacements = false -PreloadTextures = false -DumpVRAMWrites = false -DumpVRAMWriteForceAlphaChannel = true -DumpVRAMWriteWidthThreshold = 128 -DumpVRAMWriteHeightThreshold = 128 - -[Pad1] -Up = SDL-0/DPadUp -Right = SDL-0/DPadRight -Down = SDL-0/DPadDown -Left = SDL-0/DPadLeft -Triangle = SDL-0/X -Circle = SDL-0/A -Cross = SDL-0/B -Square = SDL-0/Y -Select = SDL-0/Back -Start = SDL-0/Start -L1 = SDL-0/LeftShoulder -R1 = SDL-0/RightShoulder -L2 = SDL-0/+LeftTrigger -R2 = SDL-0/+RightTrigger -L3 = SDL-0/LeftStick -R3 = SDL-0/RightStick -LLeft = SDL-0/-LeftX -LRight = SDL-0/+LeftX -LDown = SDL-0/+LeftY -LUp = SDL-0/-LeftY -RLeft = SDL-0/+RightX -RRight = SDL-0/-RightX -RDown = SDL-0/+RightY -RUp = SDL-0/-RightY diff --git a/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566 b/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566 new file mode 120000 index 00000000000..72081d3859b --- /dev/null +++ b/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566 @@ -0,0 +1 @@ +InputPlumber \ No newline at end of file diff --git a/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/default.ini b/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/default.ini deleted file mode 100644 index 97ef8f71a6b..00000000000 --- a/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/default.ini +++ /dev/null @@ -1,51 +0,0 @@ -; RG552 Gamepad - default.ini -[retrogame_joypad] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(6) -B Button = button(3) -A Button = button(0) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(5) -L Trig = button(4) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) - -; RG ARC Gamepad - default.ini -[rg_arc_joypad] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = -DPad L = -DPad D = -DPad U = -Start = button(11) -Z Trig = button(8) -B Button = button(3) -A Button = button(1) -C Button R = button(2) -C Button L = button(4) -C Button D = button(0) -C Button U = button(5) -R Trig = button(7) -L Trig = button(6) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = button(14,15) -Y Axis = button(12,13) diff --git a/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/zlswap.ini b/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/zlswap.ini deleted file mode 100644 index 7606cad7744..00000000000 --- a/projects/ROCKNIX/packages/emulators/standalone/mupen64plus-sa/mupen64plus-sa-input-sdl/config/RK3566/zlswap.ini +++ /dev/null @@ -1,25 +0,0 @@ -; RG552 Gamepad - zlswap.ini -[retrogame_joypad] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = button(16) -DPad L = button(15) -DPad D = button(14) -DPad U = button(13) -Start = button(9) -Z Trig = button(4) -B Button = button(3) -A Button = button(0) -C Button R = axis(2+) -C Button L = axis(2-) -C Button D = axis(3+) -C Button U = axis(3-) -R Trig = button(5) -L Trig = button(6) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = axis(0-,0+) -Y Axis = axis(1-,1+) \ No newline at end of file diff --git a/projects/ROCKNIX/packages/emulators/standalone/yabasanshiro-sa/scripts/start_yabasanshiro.sh b/projects/ROCKNIX/packages/emulators/standalone/yabasanshiro-sa/scripts/start_yabasanshiro.sh index 64cc508ee50..081d75910e6 100644 --- a/projects/ROCKNIX/packages/emulators/standalone/yabasanshiro-sa/scripts/start_yabasanshiro.sh +++ b/projects/ROCKNIX/packages/emulators/standalone/yabasanshiro-sa/scripts/start_yabasanshiro.sh @@ -39,7 +39,7 @@ then rm -f ${CONFIG_DIR}/keymapv2.json # Handle inputplumber platforms first - if [[ "${HW_DEVICE}" =~ RK3576|SM6115|SM8550|SM8650|SM8750|SM8250 ]]; then + if [ -d "/usr/share/inputplumber/" ]; then GAMEPAD="'Sony Interactive Entertainment DualSense Wireless Controller'" else # Check for js0, else fall back to joypad diff --git a/projects/ROCKNIX/packages/linux/package.mk b/projects/ROCKNIX/packages/linux/package.mk index 41cd93f5e5f..ae73c99eeda 100644 --- a/projects/ROCKNIX/packages/linux/package.mk +++ b/projects/ROCKNIX/packages/linux/package.mk @@ -15,6 +15,7 @@ PKG_STAMP="${KERNEL_TARGET} ${KERNEL_MAKE_EXTRACMD}" PKG_PATCH_DIRS="${LINUX} mainline ${DEVICE} default" +[[ "${DEVICE}" =~ "RK3326|RK3399|S922X|H700" ]] && PKG_PATCH_DIRS+=" rocknix-joypad" [[ "${DEVICE}" == RK* ]] && PKG_PATCH_DIRS+=" mainline-rockchip" [[ "${DEVICE}" == SM* ]] && PKG_DEPENDS_TARGET+=" mkbootimg:host" diff --git a/projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0001-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch b/projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0001-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch new file mode 100644 index 00000000000..a3bafab9a77 --- /dev/null +++ b/projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0001-gpiolib-of-revert-api-changes-needed-for-joypad-driv.patch @@ -0,0 +1,435 @@ +From b4a8cb3cbc5c37fae116a4cf9df29cae6e4c84eb Mon Sep 17 00:00:00 2001 +From: brooksytech <1673861+brooksytech@users.noreply.github.com> +Date: Wed, 24 Jan 2024 22:12:01 +0000 +Subject: [PATCH] gpiolib: of: revert api changes needed for joypad driver + +--- + drivers/gpio/gpiolib-of.c | 29 ++-- + include/linux/of_gpio.h | 37 +++- + include/linux/of_gpio_legacy.h | 304 +++++++++++++++++++++++++++++++++ + 3 files changed, 354 insertions(+), 16 deletions(-) + create mode 100644 include/linux/of_gpio_legacy.h + +diff --git a/drivers/gpio/gpiolib-of.c b/drivers/gpio/gpiolib-of.c +index cb0cefaec37e..9b80e32b87a6 100644 +--- a/drivers/gpio/gpiolib-of.c ++++ b/drivers/gpio/gpiolib-of.c +@@ -25,21 +25,6 @@ + #include "gpiolib.h" + #include "gpiolib-of.h" + +-/* +- * This is Linux-specific flags. By default controllers' and Linux' mapping +- * match, but GPIO controllers are free to translate their own flags to +- * Linux-specific in their .xlate callback. Though, 1:1 mapping is recommended. +- */ +-enum of_gpio_flags { +- OF_GPIO_ACTIVE_LOW = 0x1, +- OF_GPIO_SINGLE_ENDED = 0x2, +- OF_GPIO_OPEN_DRAIN = 0x4, +- OF_GPIO_TRANSITORY = 0x8, +- OF_GPIO_PULL_UP = 0x10, +- OF_GPIO_PULL_DOWN = 0x20, +- OF_GPIO_PULL_DISABLE = 0x40, +-}; +- + /** + * of_gpio_named_count() - Count GPIOs for a device + * @np: device node to count GPIOs for +@@ -409,6 +394,20 @@ static struct gpio_desc *of_get_named_gpiod_flags(const struct device_node *np, + return desc; + } + ++int of_get_named_gpio_flags(const struct device_node *np, const char *list_name, ++ int index, enum of_gpio_flags *flags) ++{ ++ struct gpio_desc *desc; ++ ++ desc = of_get_named_gpiod_flags(np, list_name, index, flags); ++ ++ if (IS_ERR(desc)) ++ return PTR_ERR(desc); ++ else ++ return desc_to_gpio(desc); ++} ++EXPORT_SYMBOL_GPL(of_get_named_gpio_flags); ++ + /** + * of_get_named_gpio() - Get a GPIO number to use with GPIO API + * @np: device node to get GPIO from +diff --git a/include/linux/of_gpio.h b/include/linux/of_gpio.h +index d0f66a5e1b2a..5c4c7e1a307b 100644 +--- a/include/linux/of_gpio.h ++++ b/include/linux/of_gpio.h +@@ -17,8 +17,26 @@ + + struct device_node; + ++/* ++ * This is Linux-specific flags. By default controllers' and Linux' mapping ++ * match, but GPIO controllers are free to translate their own flags to ++ * Linux-specific in their .xlate callback. Though, 1:1 mapping is recommended. ++ */ ++enum of_gpio_flags { ++ OF_GPIO_ACTIVE_LOW = 0x1, ++ OF_GPIO_SINGLE_ENDED = 0x2, ++ OF_GPIO_OPEN_DRAIN = 0x4, ++ OF_GPIO_TRANSITORY = 0x8, ++ OF_GPIO_PULL_UP = 0x10, ++ OF_GPIO_PULL_DOWN = 0x20, ++ OF_GPIO_PULL_DISABLE = 0x40, ++}; ++ + #ifdef CONFIG_OF_GPIO + ++extern int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags); ++ + extern int of_get_named_gpio(const struct device_node *np, + const char *list_name, int index); + +@@ -26,13 +44,30 @@ extern int of_get_named_gpio(const struct device_node *np, + + #include + +-/* Drivers may not strictly depend on the GPIO support, so let them link. */ + static inline int of_get_named_gpio(const struct device_node *np, + const char *propname, int index) + { ++ return -ENOSYS; ++} ++ ++/* Drivers may not strictly depend on the GPIO support, so let them link. */ ++static inline int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags) ++{ ++ if (flags) ++ *flags = 0; ++ + return -ENOSYS; + } + + #endif /* CONFIG_OF_GPIO */ + ++static inline int of_get_gpio_flags(const struct device_node *np, int index, ++ enum of_gpio_flags *flags) ++{ ++ return of_get_named_gpio_flags(np, "gpios", index, flags); ++} ++ ++//#endif /* CONFIG_OF_GPIO */ ++ + #endif /* __LINUX_OF_GPIO_H */ +diff --git a/include/linux/of_gpio_legacy.h b/include/linux/of_gpio_legacy.h +new file mode 100644 +index 000000000000..ce58afecb4f9 +--- /dev/null ++++ b/include/linux/of_gpio_legacy.h +@@ -0,0 +1,304 @@ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * OF helpers for the GPIO API ++ * ++ * Copyright (c) 2007-2008 MontaVista Software, Inc. ++ * ++ * Author: Anton Vorontsov ++ */ ++ ++#ifndef __LINUX_OF_GPIO_H ++#define __LINUX_OF_GPIO_H ++ ++#include ++#include ++#include /* FIXME: Shouldn't be here */ ++#include ++ ++struct device_node; ++ ++/* ++ * This is Linux-specific flags. By default controllers' and Linux' mapping ++ * match, but GPIO controllers are free to translate their own flags to ++ * Linux-specific in their .xlate callback. Though, 1:1 mapping is recommended. ++ */ ++enum of_gpio_flags { ++ OF_GPIO_ACTIVE_LOW = 0x1, ++ OF_GPIO_SINGLE_ENDED = 0x2, ++ OF_GPIO_OPEN_DRAIN = 0x4, ++ OF_GPIO_TRANSITORY = 0x8, ++ OF_GPIO_PULL_UP = 0x10, ++ OF_GPIO_PULL_DOWN = 0x20, ++}; ++ ++#ifdef CONFIG_OF_GPIO ++ ++#include ++ ++/* ++ * OF GPIO chip for memory mapped banks ++ */ ++struct of_mm_gpio_chip { ++ struct gpio_chip gc; ++ void (*save_regs)(struct of_mm_gpio_chip *mm_gc); ++ void __iomem *regs; ++}; ++ ++static inline struct of_mm_gpio_chip *to_of_mm_gpio_chip(struct gpio_chip *gc) ++{ ++ return container_of(gc, struct of_mm_gpio_chip, gc); ++} ++ ++extern int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags); ++ ++extern int of_mm_gpiochip_add_data(struct device_node *np, ++ struct of_mm_gpio_chip *mm_gc, ++ void *data); ++static inline int of_mm_gpiochip_add(struct device_node *np, ++ struct of_mm_gpio_chip *mm_gc) ++{ ++ return of_mm_gpiochip_add_data(np, mm_gc, NULL); ++} ++extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc); ++ ++#else /* CONFIG_OF_GPIO */ ++ ++#include ++ ++/* Drivers may not strictly depend on the GPIO support, so let them link. */ ++static inline int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags) ++{ ++ if (flags) ++ *flags = 0; ++ ++ return -ENOSYS; ++} ++ ++#endif /* CONFIG_OF_GPIO */ ++ ++/** ++ * of_gpio_named_count() - Count GPIOs for a device ++ * @np: device node to count GPIOs for ++ * @propname: property name containing gpio specifier(s) ++ * ++ * The function returns the count of GPIOs specified for a node. ++ * Note that the empty GPIO specifiers count too. Returns either ++ * Number of gpios defined in property, ++ * -EINVAL for an incorrectly formed gpios property, or ++ * -ENOENT for a missing gpios property ++ * ++ * Example: ++ * gpios = <0 ++ * &gpio1 1 2 ++ * 0 ++ * &gpio2 3 4>; ++ * ++ * The above example defines four GPIOs, two of which are not specified. ++ * This function will return '4' ++ */ ++static inline int of_gpio_named_count(const struct device_node *np, ++ const char *propname) ++{ ++ return of_count_phandle_with_args(np, propname, "#gpio-cells"); ++} ++ ++/** ++ * of_gpio_count() - Count GPIOs for a device ++ * @np: device node to count GPIOs for ++ * ++ * Same as of_gpio_named_count, but hard coded to use the 'gpios' property ++ */ ++static inline int of_gpio_count(const struct device_node *np) ++{ ++ return of_gpio_named_count(np, "gpios"); ++} ++ ++static inline int of_get_gpio_flags(const struct device_node *np, int index, ++ enum of_gpio_flags *flags) ++{ ++ return of_get_named_gpio_flags(np, "gpios", index, flags); ++} ++ ++/** ++ * of_get_named_gpio() - Get a GPIO number to use with GPIO API ++ * @np: device node to get GPIO from ++ * @propname: Name of property containing gpio specifier(s) ++ * @index: index of the GPIO ++ * ++ * Returns GPIO number to use with Linux generic GPIO API, or one of the errno ++ * value on the error condition. ++ */ ++static inline int of_get_named_gpio(const struct device_node *np, ++ const char *propname, int index) ++{ ++ return of_get_named_gpio_flags(np, propname, index, NULL); ++} ++ ++/** ++ * of_get_gpio() - Get a GPIO number to use with GPIO API ++ * @np: device node to get GPIO from ++ * @index: index of the GPIO ++ * ++ * Returns GPIO number to use with Linux generic GPIO API, or one of the errno ++ * value on the error condition. ++ */ ++static inline int of_get_gpio(const struct device_node *np, int index) ++{ ++ return of_get_gpio_flags(np, index, NULL); ++} ++ ++#endif /* __LINUX_OF_GPIO_H */ ++/* SPDX-License-Identifier: GPL-2.0+ */ ++/* ++ * OF helpers for the GPIO API ++ * ++ * Copyright (c) 2007-2008 MontaVista Software, Inc. ++ * ++ * Author: Anton Vorontsov ++ */ ++ ++#ifndef __LINUX_OF_GPIO_H ++#define __LINUX_OF_GPIO_H ++ ++#include ++#include ++#include /* FIXME: Shouldn't be here */ ++#include ++ ++struct device_node; ++ ++/* ++ * This is Linux-specific flags. By default controllers' and Linux' mapping ++ * match, but GPIO controllers are free to translate their own flags to ++ * Linux-specific in their .xlate callback. Though, 1:1 mapping is recommended. ++ */ ++enum of_gpio_flags { ++ OF_GPIO_ACTIVE_LOW = 0x1, ++ OF_GPIO_SINGLE_ENDED = 0x2, ++ OF_GPIO_OPEN_DRAIN = 0x4, ++ OF_GPIO_TRANSITORY = 0x8, ++ OF_GPIO_PULL_UP = 0x10, ++ OF_GPIO_PULL_DOWN = 0x20, ++}; ++ ++#ifdef CONFIG_OF_GPIO ++ ++#include ++ ++/* ++ * OF GPIO chip for memory mapped banks ++ */ ++struct of_mm_gpio_chip { ++ struct gpio_chip gc; ++ void (*save_regs)(struct of_mm_gpio_chip *mm_gc); ++ void __iomem *regs; ++}; ++ ++static inline struct of_mm_gpio_chip *to_of_mm_gpio_chip(struct gpio_chip *gc) ++{ ++ return container_of(gc, struct of_mm_gpio_chip, gc); ++} ++ ++extern int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags); ++ ++extern int of_mm_gpiochip_add_data(struct device_node *np, ++ struct of_mm_gpio_chip *mm_gc, ++ void *data); ++static inline int of_mm_gpiochip_add(struct device_node *np, ++ struct of_mm_gpio_chip *mm_gc) ++{ ++ return of_mm_gpiochip_add_data(np, mm_gc, NULL); ++} ++extern void of_mm_gpiochip_remove(struct of_mm_gpio_chip *mm_gc); ++ ++#else /* CONFIG_OF_GPIO */ ++ ++#include ++ ++/* Drivers may not strictly depend on the GPIO support, so let them link. */ ++static inline int of_get_named_gpio_flags(const struct device_node *np, ++ const char *list_name, int index, enum of_gpio_flags *flags) ++{ ++ if (flags) ++ *flags = 0; ++ ++ return -ENOSYS; ++} ++ ++#endif /* CONFIG_OF_GPIO */ ++ ++/** ++ * of_gpio_named_count() - Count GPIOs for a device ++ * @np: device node to count GPIOs for ++ * @propname: property name containing gpio specifier(s) ++ * ++ * The function returns the count of GPIOs specified for a node. ++ * Note that the empty GPIO specifiers count too. Returns either ++ * Number of gpios defined in property, ++ * -EINVAL for an incorrectly formed gpios property, or ++ * -ENOENT for a missing gpios property ++ * ++ * Example: ++ * gpios = <0 ++ * &gpio1 1 2 ++ * 0 ++ * &gpio2 3 4>; ++ * ++ * The above example defines four GPIOs, two of which are not specified. ++ * This function will return '4' ++ */ ++static inline int of_gpio_named_count(const struct device_node *np, ++ const char *propname) ++{ ++ return of_count_phandle_with_args(np, propname, "#gpio-cells"); ++} ++ ++/** ++ * of_gpio_count() - Count GPIOs for a device ++ * @np: device node to count GPIOs for ++ * ++ * Same as of_gpio_named_count, but hard coded to use the 'gpios' property ++ */ ++static inline int of_gpio_count(const struct device_node *np) ++{ ++ return of_gpio_named_count(np, "gpios"); ++} ++ ++static inline int of_get_gpio_flags(const struct device_node *np, int index, ++ enum of_gpio_flags *flags) ++{ ++ return of_get_named_gpio_flags(np, "gpios", index, flags); ++} ++ ++/** ++ * of_get_named_gpio() - Get a GPIO number to use with GPIO API ++ * @np: device node to get GPIO from ++ * @propname: Name of property containing gpio specifier(s) ++ * @index: index of the GPIO ++ * ++ * Returns GPIO number to use with Linux generic GPIO API, or one of the errno ++ * value on the error condition. ++ */ ++static inline int of_get_named_gpio(const struct device_node *np, ++ const char *propname, int index) ++{ ++ return of_get_named_gpio_flags(np, propname, index, NULL); ++} ++ ++/** ++ * of_get_gpio() - Get a GPIO number to use with GPIO API ++ * @np: device node to get GPIO from ++ * @index: index of the GPIO ++ * ++ * Returns GPIO number to use with Linux generic GPIO API, or one of the errno ++ * value on the error condition. ++ */ ++static inline int of_get_gpio(const struct device_node *np, int index) ++{ ++ return of_get_gpio_flags(np, index, NULL); ++} ++ ++#endif /* __LINUX_OF_GPIO_H */ +-- +2.34.1 + diff --git a/projects/ROCKNIX/packages/linux/patches/mainline/0002-input-add-input-polldev-driver.patch b/projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0002-input-add-input-polldev-driver.patch similarity index 100% rename from projects/ROCKNIX/packages/linux/patches/mainline/0002-input-add-input-polldev-driver.patch rename to projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0002-input-add-input-polldev-driver.patch diff --git a/projects/ROCKNIX/packages/linux/patches/mainline/0004-input-adc-keys-redirect-keycode-316-to-rocknix-joypa.patch b/projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0004-input-adc-keys-redirect-keycode-316-to-rocknix-joypa.patch similarity index 100% rename from projects/ROCKNIX/packages/linux/patches/mainline/0004-input-adc-keys-redirect-keycode-316-to-rocknix-joypa.patch rename to projects/ROCKNIX/packages/linux/patches/rocknix-joypad/0004-input-adc-keys-redirect-keycode-316-to-rocknix-joypa.patch diff --git a/projects/ROCKNIX/packages/misc/modules/package.mk b/projects/ROCKNIX/packages/misc/modules/package.mk index 9bcffa86d23..64fbb5b362f 100644 --- a/projects/ROCKNIX/packages/misc/modules/package.mk +++ b/projects/ROCKNIX/packages/misc/modules/package.mk @@ -11,7 +11,7 @@ PKG_LONGDESC="OS Modules Package" PKG_TOOLCHAIN="manual" case ${DEVICE} in - RK3399|RK3588|SM8250|SM8550|SM8650|SM8750|SM6115) + RK3399|RK3588|SM8250|SM8550|SM8650|SM8750|SM6115|RK3566|RK3576) PKG_DEPENDS_TARGET+=" gamepadtester qterminal" ;; esac From 3aee11b9730573f7033e3c4501cb3266bfa4f88e Mon Sep 17 00:00:00 2001 From: sydarn Date: Mon, 24 Aug 2026 22:34:50 +0200 Subject: [PATCH 3/3] Drastic: config, Arc cleanup TODO: Arc retroarch remappings needs to be redone --- .../drastic-sa/config/RK3566/drastic.cfg | 54 ++++----- .../drastic-sa/config/RK3566/drastic.cfg.arc | 111 ------------------ .../drastic-sa/config/RK3566/drastic.cfg.rgds | 111 ------------------ .../Anbernic RG ARC-D/050-game-configs | 79 ------------- .../devices/Anbernic RG DS/050-game_configs | 12 -- 5 files changed, 27 insertions(+), 340 deletions(-) delete mode 100644 projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.arc delete mode 100644 projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.rgds delete mode 100755 projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG DS/050-game_configs diff --git a/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg b/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg index 83c8ed1cf88..22398b7e799 100644 --- a/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg +++ b/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg @@ -2,7 +2,7 @@ frameskip_type = 0 frameskip_value = 1 safe_frameskip = 1 show_frame_counter = 0 -screen_orientation = 0 +screen_orientation = 1 screen_swap = 0 savestate_number = 0 fast_forward = 0 @@ -21,7 +21,7 @@ trim_roms = 0 fix_main_2d_screen = 0 disable_edge_marking = 0 interframe_blend = 0 -hires_3d = 1 +hires_3d = 0 use_rtc_custom_time = 0 rtc_custom_time = 0 rtc_system_time = 0 @@ -51,16 +51,16 @@ controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_a[CONTROL_INDEX_MENU] = 65535 -controls_a[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_a[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_a[CONTROL_INDEX_FAST_FORWARD] = 65535 +controls_a[CONTROL_INDEX_MENU] = 1035 +controls_a[CONTROL_INDEX_SAVE_STATE] = 1031 +controls_a[CONTROL_INDEX_LOAD_STATE] = 1030 +controls_a[CONTROL_INDEX_FAST_FORWARD] = 1036 controls_a[CONTROL_INDEX_SWAP_SCREENS] = 65535 controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535 controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535 controls_a[CONTROL_INDEX_LOAD_GAME] = 65535 controls_a[CONTROL_INDEX_QUIT] = 65535 -controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 +controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 327 controls_a[CONTROL_INDEX_UI_UP] = 1217 controls_a[CONTROL_INDEX_UI_DOWN] = 1153 controls_a[CONTROL_INDEX_UI_LEFT] = 1216 @@ -71,10 +71,10 @@ controls_a[CONTROL_INDEX_UI_EXIT] = 65535 controls_a[CONTROL_INDEX_UI_PAGE_UP] = 65535 controls_a[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 controls_a[CONTROL_INDEX_UI_SWITCH] = 65535 -controls_b[CONTROL_INDEX_UP] = 1037 -controls_b[CONTROL_INDEX_DOWN] = 1038 -controls_b[CONTROL_INDEX_LEFT] = 1039 -controls_b[CONTROL_INDEX_RIGHT] = 1040 +controls_b[CONTROL_INDEX_UP] = 1089 +controls_b[CONTROL_INDEX_DOWN] = 1092 +controls_b[CONTROL_INDEX_LEFT] = 1096 +controls_b[CONTROL_INDEX_RIGHT] = 1090 controls_b[CONTROL_INDEX_A] = 1025 controls_b[CONTROL_INDEX_B] = 1024 controls_b[CONTROL_INDEX_X] = 1026 @@ -84,25 +84,25 @@ controls_b[CONTROL_INDEX_R] = 1029 controls_b[CONTROL_INDEX_START] = 1033 controls_b[CONTROL_INDEX_SELECT] = 1032 controls_b[CONTROL_INDEX_HINGE] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 1219 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 1155 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 1218 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 1154 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 1036 -controls_b[CONTROL_INDEX_MENU] = 1035 -controls_b[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_b[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_b[CONTROL_INDEX_FAST_FORWARD] = 65535 +controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535 +controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 +controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 +controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 +controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 +controls_b[CONTROL_INDEX_MENU] = 1034 +controls_b[CONTROL_INDEX_SAVE_STATE] = 1031 +controls_b[CONTROL_INDEX_LOAD_STATE] = 1030 +controls_b[CONTROL_INDEX_FAST_FORWARD] = 1036 controls_b[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 1030 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 1031 +controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535 +controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535 controls_b[CONTROL_INDEX_LOAD_GAME] = 65535 controls_b[CONTROL_INDEX_QUIT] = 65535 -controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_b[CONTROL_INDEX_UI_UP] = 1037 -controls_b[CONTROL_INDEX_UI_DOWN] = 1038 -controls_b[CONTROL_INDEX_UI_LEFT] = 1039 -controls_b[CONTROL_INDEX_UI_RIGHT] = 1040 +controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 327 +controls_b[CONTROL_INDEX_UI_UP] = 1089 +controls_b[CONTROL_INDEX_UI_DOWN] = 1092 +controls_b[CONTROL_INDEX_UI_LEFT] = 1096 +controls_b[CONTROL_INDEX_UI_RIGHT] = 1090 controls_b[CONTROL_INDEX_UI_SELECT] = 1025 controls_b[CONTROL_INDEX_UI_BACK] = 65535 controls_b[CONTROL_INDEX_UI_EXIT] = 1024 diff --git a/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.arc b/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.arc deleted file mode 100644 index 3c98537dcdd..00000000000 --- a/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.arc +++ /dev/null @@ -1,111 +0,0 @@ -frameskip_type = 0 -frameskip_value = 1 -safe_frameskip = 1 -show_frame_counter = 0 -screen_orientation = 3 -screen_swap = 0 -savestate_number = 0 -fast_forward = 0 -enable_sound = 1 -clock_speed = 0 -threaded_3d = 1 -mirror_touch = 0 -compress_savestates = 1 -savestate_snapshot = 1 -unzip_roms = 0 -preload_roms = 0 -backup_in_savestates = 1 -ignore_gamecard_limit = 0 -frame_interval = 0 -trim_roms = 0 -fix_main_2d_screen = 0 -disable_edge_marking = 0 -interframe_blend = 0 -hires_3d = 1 -use_rtc_custom_time = 0 -rtc_custom_time = 0 -rtc_system_time = 0 -slot2_device_type = 0 -rumble_frames = 3 -firmware.username = Dr DraStic -firmware.language = 1 -firmware.favorite_color = 0 -firmware.birthday_month = 1 -firmware.birthday_day = 1 -enable_cheats = 1 -controls_a[CONTROL_INDEX_UP] = 1036 -controls_a[CONTROL_INDEX_DOWN] = 1037 -controls_a[CONTROL_INDEX_LEFT] = 1038 -controls_a[CONTROL_INDEX_RIGHT] = 1039 -controls_a[CONTROL_INDEX_A] = 100 -controls_a[CONTROL_INDEX_B] = 99 -controls_a[CONTROL_INDEX_X] = 122 -controls_a[CONTROL_INDEX_Y] = 118 -controls_a[CONTROL_INDEX_L] = 113 -controls_a[CONTROL_INDEX_R] = 111 -controls_a[CONTROL_INDEX_START] = 1035 -controls_a[CONTROL_INDEX_SELECT] = 1034 -controls_a[CONTROL_INDEX_HINGE] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_a[CONTROL_INDEX_MENU] = 1029 -controls_a[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_a[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_a[CONTROL_INDEX_FAST_FORWARD] = 65535 -controls_a[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 110 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 112 -controls_a[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_a[CONTROL_INDEX_QUIT] = 65535 -controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_a[CONTROL_INDEX_UI_UP] = 1036 -controls_a[CONTROL_INDEX_UI_DOWN] = 1037 -controls_a[CONTROL_INDEX_UI_LEFT] = 1038 -controls_a[CONTROL_INDEX_UI_RIGHT] = 1039 -controls_a[CONTROL_INDEX_UI_SELECT] = 1024 -controls_a[CONTROL_INDEX_UI_BACK] = 65535 -controls_a[CONTROL_INDEX_UI_EXIT] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_a[CONTROL_INDEX_UI_SWITCH] = 65535 -controls_b[CONTROL_INDEX_UP] = 1036 -controls_b[CONTROL_INDEX_DOWN] = 1037 -controls_b[CONTROL_INDEX_LEFT] = 1038 -controls_b[CONTROL_INDEX_RIGHT] = 1039 -controls_b[CONTROL_INDEX_A] = 100 -controls_b[CONTROL_INDEX_B] = 99 -controls_b[CONTROL_INDEX_X] = 122 -controls_b[CONTROL_INDEX_Y] = 118 -controls_b[CONTROL_INDEX_L] = 113 -controls_b[CONTROL_INDEX_R] = 111 -controls_b[CONTROL_INDEX_START] = 1035 -controls_b[CONTROL_INDEX_SELECT] = 1034 -controls_b[CONTROL_INDEX_HINGE] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_b[CONTROL_INDEX_MENU] = 1029 -controls_b[CONTROL_INDEX_SAVE_STATE] = 65535 -controls_b[CONTROL_INDEX_LOAD_STATE] = 65535 -controls_b[CONTROL_INDEX_FAST_FORWARD] = 65535 -controls_b[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 110 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 112 -controls_b[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_b[CONTROL_INDEX_QUIT] = 65535 -controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 65535 -controls_b[CONTROL_INDEX_UI_UP] = 1036 -controls_b[CONTROL_INDEX_UI_DOWN] = 1037 -controls_b[CONTROL_INDEX_UI_LEFT] = 1038 -controls_b[CONTROL_INDEX_UI_RIGHT] = 1039 -controls_b[CONTROL_INDEX_UI_SELECT] = 65535 -controls_b[CONTROL_INDEX_UI_BACK] = 65535 -controls_b[CONTROL_INDEX_UI_EXIT] = 65535 -controls_b[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_b[CONTROL_INDEX_UI_SWITCH] = 65535 diff --git a/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.rgds b/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.rgds deleted file mode 100644 index 1fff18ad307..00000000000 --- a/projects/ROCKNIX/packages/emulators/standalone/drastic-sa/config/RK3566/drastic.cfg.rgds +++ /dev/null @@ -1,111 +0,0 @@ -frameskip_type = 0 -frameskip_value = 1 -safe_frameskip = 1 -show_frame_counter = 0 -screen_orientation = 1 -screen_swap = 0 -savestate_number = 0 -fast_forward = 0 -enable_sound = 1 -clock_speed = 0 -threaded_3d = 0 -mirror_touch = 0 -compress_savestates = 1 -savestate_snapshot = 1 -unzip_roms = 0 -preload_roms = 0 -backup_in_savestates = 1 -ignore_gamecard_limit = 0 -frame_interval = 0 -trim_roms = 0 -fix_main_2d_screen = 0 -disable_edge_marking = 0 -interframe_blend = 0 -hires_3d = 0 -use_rtc_custom_time = 0 -rtc_custom_time = 0 -rtc_system_time = 0 -slot2_device_type = 0 -rumble_frames = 3 -firmware.username = Dr DraStic -firmware.language = 1 -firmware.favorite_color = 0 -firmware.birthday_month = 1 -firmware.birthday_day = 1 -enable_cheats = 1 -controls_a[CONTROL_INDEX_UP] = 1217 -controls_a[CONTROL_INDEX_DOWN] = 1153 -controls_a[CONTROL_INDEX_LEFT] = 1216 -controls_a[CONTROL_INDEX_RIGHT] = 1152 -controls_a[CONTROL_INDEX_A] = 65535 -controls_a[CONTROL_INDEX_B] = 65535 -controls_a[CONTROL_INDEX_X] = 65535 -controls_a[CONTROL_INDEX_Y] = 65535 -controls_a[CONTROL_INDEX_L] = 65535 -controls_a[CONTROL_INDEX_R] = 65535 -controls_a[CONTROL_INDEX_START] = 65535 -controls_a[CONTROL_INDEX_SELECT] = 65535 -controls_a[CONTROL_INDEX_HINGE] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 -controls_a[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_a[CONTROL_INDEX_MENU] = 1035 -controls_a[CONTROL_INDEX_SAVE_STATE] = 1031 -controls_a[CONTROL_INDEX_LOAD_STATE] = 1030 -controls_a[CONTROL_INDEX_FAST_FORWARD] = 1036 -controls_a[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535 -controls_a[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535 -controls_a[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_a[CONTROL_INDEX_QUIT] = 65535 -controls_a[CONTROL_INDEX_FAKE_MICROPHONE] = 327 -controls_a[CONTROL_INDEX_UI_UP] = 1217 -controls_a[CONTROL_INDEX_UI_DOWN] = 1153 -controls_a[CONTROL_INDEX_UI_LEFT] = 1216 -controls_a[CONTROL_INDEX_UI_RIGHT] = 1152 -controls_a[CONTROL_INDEX_UI_SELECT] = 65535 -controls_a[CONTROL_INDEX_UI_BACK] = 65535 -controls_a[CONTROL_INDEX_UI_EXIT] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_a[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_a[CONTROL_INDEX_UI_SWITCH] = 65535 -controls_b[CONTROL_INDEX_UP] = 1037 -controls_b[CONTROL_INDEX_DOWN] = 1038 -controls_b[CONTROL_INDEX_LEFT] = 1039 -controls_b[CONTROL_INDEX_RIGHT] = 1040 -controls_b[CONTROL_INDEX_A] = 1025 -controls_b[CONTROL_INDEX_B] = 1024 -controls_b[CONTROL_INDEX_X] = 1026 -controls_b[CONTROL_INDEX_Y] = 1027 -controls_b[CONTROL_INDEX_L] = 1028 -controls_b[CONTROL_INDEX_R] = 1029 -controls_b[CONTROL_INDEX_START] = 1033 -controls_b[CONTROL_INDEX_SELECT] = 1032 -controls_b[CONTROL_INDEX_HINGE] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_UP] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_DOWN] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_LEFT] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_RIGHT] = 65535 -controls_b[CONTROL_INDEX_TOUCH_CURSOR_PRESS] = 65535 -controls_b[CONTROL_INDEX_MENU] = 1034 -controls_b[CONTROL_INDEX_SAVE_STATE] = 1031 -controls_b[CONTROL_INDEX_LOAD_STATE] = 1030 -controls_b[CONTROL_INDEX_FAST_FORWARD] = 1036 -controls_b[CONTROL_INDEX_SWAP_SCREENS] = 65535 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_A] = 65535 -controls_b[CONTROL_INDEX_SWAP_ORIENTATION_B] = 65535 -controls_b[CONTROL_INDEX_LOAD_GAME] = 65535 -controls_b[CONTROL_INDEX_QUIT] = 65535 -controls_b[CONTROL_INDEX_FAKE_MICROPHONE] = 327 -controls_b[CONTROL_INDEX_UI_UP] = 1037 -controls_b[CONTROL_INDEX_UI_DOWN] = 1038 -controls_b[CONTROL_INDEX_UI_LEFT] = 1039 -controls_b[CONTROL_INDEX_UI_RIGHT] = 1040 -controls_b[CONTROL_INDEX_UI_SELECT] = 1025 -controls_b[CONTROL_INDEX_UI_BACK] = 65535 -controls_b[CONTROL_INDEX_UI_EXIT] = 1024 -controls_b[CONTROL_INDEX_UI_PAGE_UP] = 65535 -controls_b[CONTROL_INDEX_UI_PAGE_DOWN] = 65535 -controls_b[CONTROL_INDEX_UI_SWITCH] = 65535 diff --git a/projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG ARC-D/050-game-configs b/projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG ARC-D/050-game-configs index 3764c8c56ae..086640da968 100755 --- a/projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG ARC-D/050-game-configs +++ b/projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG ARC-D/050-game-configs @@ -1,53 +1,6 @@ # SPDX-License-Identifier: GPL-2.0 # Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS) -#Set mupen64-plus-sa config for R33S -if [ ! -d "/storage/.config/mupen64plus" ]; then - mkdir -p "/storage/.config/mupen64plus/" - cp -r /usr/local/share/mupen64plus/mupen64plus.cfg* /storage/.config/mupen64plus/ -fi -if [ -f "/storage/.config/mupen64plus/mupen64plus.cfg.rgarc" ]; then - rm /storage/.config/mupen64plus/mupen64plus.cfg - mv /storage/.config/mupen64plus/mupen64plus.cfg.rgarc /storage/.config/mupen64plus/mupen64plus.cfg -fi -if [ ! -f "/storage/.config/mupen64plus/custominput.ini" ]; then -cat </storage/.config/mupen64plus/custominput.ini -[rg_arc_joypad] -plugged = True -mouse = False -AnalogDeadzone = 0,0 -AnalogPeak = 32768,32768 -DPad R = button(15) -DPad L = button(14) -DPad D = button(13) -DPad U = button(12) -Start = button(11) -Z Trig = button(8) -B Button = button(3) -A Button = button(1) -C Button R = button(2) -C Button L = button(4) -C Button D = button(0) -C Button U = button(5) -R Trig = button(7) -L Trig = button(6) -Mempak switch = -Rumblepak switch = -# Analog axis configuration mappings -X Axis = -Y Axis = -EOF -fi - -#Set drastic-sa config -if [ ! -d "/storage/.config/drastic" ]; then - mkdir -p "/storage/.config/drastic" - cp -r "/usr/config/drastic" "/storage/.config/" -fi -if [ -f "/storage/.config/drastic/config/drastic.cfg.arc" ]; then - mv /storage/.config/drastic/config/drastic.cfg.arc /storage/.config/drastic/config/drastic.cfg -fi - # Copy over device specific retroarch remappings unless they already exist REMAP_DIR="/usr/lib/autostart/quirks/devices/${QUIRK_DEVICE}/remappings" if [ -d "${REMAP_DIR}" ]; then @@ -120,35 +73,3 @@ END EOF fi -# PPSSPP controls -SOURCE_DIR="/usr/config/ppsspp" -CONF_DIR="/storage/.config/ppsspp" -# Check if conf dir exists -if [ ! -d "${CONF_DIR}" ] -then - cp -rf ${SOURCE_DIR} ${CONF_DIR} - CONTROLS_INI="${CONF_DIR}/PSP/SYSTEM/controls.ini" - cat <${CONTROLS_INI} -[ControlMapping] -Up = 10-19 -Down = 10-20 -Left = 10-21 -Right = 10-22 -Cross = 10-190 -Circle = 10-189 -Square = 10-188 -Triangle = 10-191 -Start = 10-197 -Select = 10-196 -L = 10-193 -R = 10-192 -An.Up = 10-4003 -An.Down = 10-4002 -An.Left = 10-4001 -An.Right = 10-4000 -Pause = 10-4,10-106 -Save State = 10-4010 -Load State = 10-4008 -EOF -fi - diff --git a/projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG DS/050-game_configs b/projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG DS/050-game_configs deleted file mode 100755 index 850ce5d3007..00000000000 --- a/projects/ROCKNIX/packages/hardware/quirks/devices/Anbernic RG DS/050-game_configs +++ /dev/null @@ -1,12 +0,0 @@ -#!/bin/sh -# SPDX-License-Identifier: GPL-2.0 -# Copyright (C) 2022-present JELOS (https://github.com/JustEnoughLinuxOS) - -#Set drastic-sa config for RG DS -if [ ! -d "/storage/.config/drastic" ]; then - mkdir -p "/storage/.config/drastic" - cp -r "/usr/config/drastic" "/storage/.config/" -fi -if [ -f "/storage/.config/drastic/config/drastic.cfg.rgds" ]; then - mv /storage/.config/drastic/config/drastic.cfg.rgds /storage/.config/drastic/config/drastic.cfg -fi