joncox123 / MotoButtons

Low cost, waterproof controller for motorcycle navigation, phone and media control
GNU General Public License v3.0
22 stars 4 forks source link

DMD Mode Proposal #16

Open harupipapaZZZ opened 8 months ago

harupipapaZZZ commented 8 months ago

The current DMD mode is const uint8_t DMD_KEY_UP = HID_KEY_ARROW_UP; const uint8_t DMD_KEY_DOWN = HID_KEY_ARROW_DOWN; const uint8_t DMD_KEY_LEFT = HID_KEY_ARROW_LEFT; const uint8_t DMD_KEY_RIGHT = HID_KEY_ARROW_RIGHT; const uint8_t DMD_KEY_CENTER = HID_KEY_ENTER; const uint8_t DMD_KEY_A = HID_KEY_F5; const uint8_t DMD_KEY_B = HID_KEY_F6; const uint8_t DMD_KEY_VIRTUAL = HID_KEY_F7; is set to . I know this is based on the definition of CONTROLLER TYPES AND KEY CODES in DMD.

However, when you actually use it, there are some problems. F7 zooms out, but it requires a long press of the center button, which makes it difficult to use.

It would be good to improve it like this.

const uint8_t DMD_KEY_UP = HID_KEY_ARROW_UP; const uint8_t DMD_KEY_DOWN = HID_KEY_ARROW_DOWN; const uint8_t DMD_KEY_LEFT = HID_KEY_ARROW_LEFT; const uint8_t DMD_KEY_RIGHT = HID_KEY_ARROW_RIGHT; const uint8_t DMD_KEY_CENTER = HID_KEY_ENTER; const uint8_t DMD_KEY_A = HID_KEY_EQUAL;(Button A on DMD) const uint8_t DMD_KEY_B = HID_KEY_MINUS;(Button B on DMD) const uint8_t DMD_KEY_VIRTUAL = HID_KEY_D;(Displayed in the bottom menu ◁▷ on DMD) It is easier to use if you change it to .

Although not official, DMD also works with multiple keycodes. See here

スクリーンショット 2024-03-09 20 28 24

Furthermore Add long press of A button and long press of B button respectively. const uint8_t DMD_KEY_VIRTUAL_A = HID_KEY_N; (No setting in DMD) const uint8_t DMD_KEY_VIRTUAL_B = HID_KEY_C; (Same as ENTER in DMD)

You should now be able to control DMD, OSMAND, MRA, and the Android home screen.