Skip to content

Commit 8d7e875

Browse files
committed
rg_input: Use bitmask instead of bitnum for the i2c driver
This will be more flexible if we want to add combos or multiple keys doing the same thing
1 parent 2022452 commit 8d7e875

File tree

3 files changed

+44
-44
lines changed

3 files changed

+44
-44
lines changed

components/retro-go/rg_input.c

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -52,16 +52,16 @@ static inline uint32_t gamepad_read(void)
5252
{
5353
int buttons = ~((data[2] << 8) | data[1]);
5454

55-
if (buttons & (1<<RG_GAMEPAD_MAP_MENU)) state |= RG_KEY_MENU;
56-
if (buttons & (1<<RG_GAMEPAD_MAP_OPTION)) state |= RG_KEY_OPTION;
57-
if (buttons & (1<<RG_GAMEPAD_MAP_START)) state |= RG_KEY_START;
58-
if (buttons & (1<<RG_GAMEPAD_MAP_SELECT)) state |= RG_KEY_SELECT;
59-
if (buttons & (1<<RG_GAMEPAD_MAP_UP)) state |= RG_KEY_UP;
60-
if (buttons & (1<<RG_GAMEPAD_MAP_RIGHT)) state |= RG_KEY_RIGHT;
61-
if (buttons & (1<<RG_GAMEPAD_MAP_DOWN)) state |= RG_KEY_DOWN;
62-
if (buttons & (1<<RG_GAMEPAD_MAP_LEFT)) state |= RG_KEY_LEFT;
63-
if (buttons & (1<<RG_GAMEPAD_MAP_A)) state |= RG_KEY_A;
64-
if (buttons & (1<<RG_GAMEPAD_MAP_B)) state |= RG_KEY_B;
55+
if (buttons & RG_GAMEPAD_MAP_MENU) state |= RG_KEY_MENU;
56+
if (buttons & RG_GAMEPAD_MAP_OPTION) state |= RG_KEY_OPTION;
57+
if (buttons & RG_GAMEPAD_MAP_START) state |= RG_KEY_START;
58+
if (buttons & RG_GAMEPAD_MAP_SELECT) state |= RG_KEY_SELECT;
59+
if (buttons & RG_GAMEPAD_MAP_UP) state |= RG_KEY_UP;
60+
if (buttons & RG_GAMEPAD_MAP_RIGHT) state |= RG_KEY_RIGHT;
61+
if (buttons & RG_GAMEPAD_MAP_DOWN) state |= RG_KEY_DOWN;
62+
if (buttons & RG_GAMEPAD_MAP_LEFT) state |= RG_KEY_LEFT;
63+
if (buttons & RG_GAMEPAD_MAP_A) state |= RG_KEY_A;
64+
if (buttons & RG_GAMEPAD_MAP_B) state |= RG_KEY_B;
6565

6666
battery_level = data[4];
6767

@@ -77,16 +77,16 @@ static inline uint32_t gamepad_read(void)
7777

7878
uint16_t buttons = ~(rg_i2c_gpio_read_port(0) | rg_i2c_gpio_read_port(1) << 8);
7979

80-
if (buttons & (1<<RG_GAMEPAD_MAP_MENU)) state |= RG_KEY_MENU;
81-
if (buttons & (1<<RG_GAMEPAD_MAP_OPTION)) state |= RG_KEY_OPTION;
82-
if (buttons & (1<<RG_GAMEPAD_MAP_START)) state |= RG_KEY_START;
83-
if (buttons & (1<<RG_GAMEPAD_MAP_SELECT)) state |= RG_KEY_SELECT;
84-
if (buttons & (1<<RG_GAMEPAD_MAP_UP)) state |= RG_KEY_UP;
85-
if (buttons & (1<<RG_GAMEPAD_MAP_RIGHT)) state |= RG_KEY_RIGHT;
86-
if (buttons & (1<<RG_GAMEPAD_MAP_DOWN)) state |= RG_KEY_DOWN;
87-
if (buttons & (1<<RG_GAMEPAD_MAP_LEFT)) state |= RG_KEY_LEFT;
88-
if (buttons & (1<<RG_GAMEPAD_MAP_A)) state |= RG_KEY_A;
89-
if (buttons & (1<<RG_GAMEPAD_MAP_B)) state |= RG_KEY_B;
80+
if (buttons & RG_GAMEPAD_MAP_MENU) state |= RG_KEY_MENU;
81+
if (buttons & RG_GAMEPAD_MAP_OPTION) state |= RG_KEY_OPTION;
82+
if (buttons & RG_GAMEPAD_MAP_START) state |= RG_KEY_START;
83+
if (buttons & RG_GAMEPAD_MAP_SELECT) state |= RG_KEY_SELECT;
84+
if (buttons & RG_GAMEPAD_MAP_UP) state |= RG_KEY_UP;
85+
if (buttons & RG_GAMEPAD_MAP_RIGHT) state |= RG_KEY_RIGHT;
86+
if (buttons & RG_GAMEPAD_MAP_DOWN) state |= RG_KEY_DOWN;
87+
if (buttons & RG_GAMEPAD_MAP_LEFT) state |= RG_KEY_LEFT;
88+
if (buttons & RG_GAMEPAD_MAP_A) state |= RG_KEY_A;
89+
if (buttons & RG_GAMEPAD_MAP_B) state |= RG_KEY_B;
9090

9191
battery_level = 99;
9292

components/retro-go/targets/mrgc-g32.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -60,18 +60,18 @@
6060
#define RG_GAMEPAD_HAS_MENU_BTN 1
6161
#define RG_GAMEPAD_HAS_OPTION_BTN 0
6262
// Note: Depending on the driver, the button map can represent bits, registers, keys, or gpios.
63-
#define RG_GAMEPAD_MAP_MENU (8)
64-
#define RG_GAMEPAD_MAP_OPTION (-1)
65-
#define RG_GAMEPAD_MAP_START (0)
66-
#define RG_GAMEPAD_MAP_SELECT (1)
67-
#define RG_GAMEPAD_MAP_UP (2)
68-
#define RG_GAMEPAD_MAP_RIGHT (5)
69-
#define RG_GAMEPAD_MAP_DOWN (3)
70-
#define RG_GAMEPAD_MAP_LEFT (4)
71-
#define RG_GAMEPAD_MAP_A (6)
72-
#define RG_GAMEPAD_MAP_B (7)
73-
#define RG_GAMEPAD_MAP_X (-1)
74-
#define RG_GAMEPAD_MAP_Y (-1)
63+
#define RG_GAMEPAD_MAP_MENU (1<<8)
64+
#define RG_GAMEPAD_MAP_OPTION (0)
65+
#define RG_GAMEPAD_MAP_START (1<<0)
66+
#define RG_GAMEPAD_MAP_SELECT (1<<1)
67+
#define RG_GAMEPAD_MAP_UP (1<<2)
68+
#define RG_GAMEPAD_MAP_RIGHT (1<<5)
69+
#define RG_GAMEPAD_MAP_DOWN (1<<3)
70+
#define RG_GAMEPAD_MAP_LEFT (1<<4)
71+
#define RG_GAMEPAD_MAP_A (1<<6)
72+
#define RG_GAMEPAD_MAP_B (1<<7)
73+
#define RG_GAMEPAD_MAP_X (0)
74+
#define RG_GAMEPAD_MAP_Y (0)
7575

7676
// Battery
7777
// #define RG_BATTERY_ADC_CHANNEL ADC1_CHANNEL_0

components/retro-go/targets/qtpy-gamer.h

Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -31,18 +31,18 @@
3131
#define RG_GAMEPAD_HAS_MENU_BTN 1
3232
#define RG_GAMEPAD_HAS_OPTION_BTN 1
3333
// Note: Depending on the driver, the button map can represent bits, registers, keys, or gpios.
34-
#define RG_GAMEPAD_MAP_MENU (11)
35-
#define RG_GAMEPAD_MAP_OPTION (5)
36-
#define RG_GAMEPAD_MAP_START (4)
37-
#define RG_GAMEPAD_MAP_SELECT (2)
38-
#define RG_GAMEPAD_MAP_UP (10)
39-
#define RG_GAMEPAD_MAP_RIGHT (12)
40-
#define RG_GAMEPAD_MAP_DOWN (13)
41-
#define RG_GAMEPAD_MAP_LEFT (14)
42-
#define RG_GAMEPAD_MAP_A (6)
43-
#define RG_GAMEPAD_MAP_B (7)
44-
#define RG_GAMEPAD_MAP_X (-1)
45-
#define RG_GAMEPAD_MAP_Y (-1)
34+
#define RG_GAMEPAD_MAP_MENU (1<<11)
35+
#define RG_GAMEPAD_MAP_OPTION (1<<5)
36+
#define RG_GAMEPAD_MAP_START (1<<4)
37+
#define RG_GAMEPAD_MAP_SELECT (1<<2)
38+
#define RG_GAMEPAD_MAP_UP (1<<10)
39+
#define RG_GAMEPAD_MAP_RIGHT (1<<12)
40+
#define RG_GAMEPAD_MAP_DOWN (1<<13)
41+
#define RG_GAMEPAD_MAP_LEFT (1<<14)
42+
#define RG_GAMEPAD_MAP_A (1<<6)
43+
#define RG_GAMEPAD_MAP_B (1<<7)
44+
#define RG_GAMEPAD_MAP_X (0)
45+
#define RG_GAMEPAD_MAP_Y (0)
4646

4747
// Battery
4848
// #define RG_BATTERY_ADC_CHANNEL ADC1_CHANNEL_0

0 commit comments

Comments
 (0)