|
106 | 106 | "ls_y": AM((9 << 3), "i16"), |
107 | 107 | "rs_x": AM((11 << 3), "i16"), |
108 | 108 | "rs_y": AM((13 << 3), "i16"), |
109 | | - "rt": AM((15 << 3), "i16", scale=2**16 -1, offset=-(2**15 -1)), |
110 | | - "lt": AM((17 << 3), "i16", scale=2**16 -1, offset=-(2**15 -1)), |
| 109 | + "rt": AM((15 << 3), "i16", scale=2**16 - 1, offset=-(2**15 - 1)), |
| 110 | + "lt": AM((17 << 3), "i16", scale=2**16 - 1, offset=-(2**15 - 1)), |
111 | 111 | "accel_x": AM( |
112 | 112 | (23 << 3), "i16", scale=ACCEL_SCALE, bounds=(-(2**15) + 2, 2**15 - 1) |
113 | 113 | ), |
|
148 | 148 | "share": BM(((ofs + 2) << 3) + 4), |
149 | 149 | "extra_r2": BM(((ofs + 2) << 3) + 3), |
150 | 150 | "extra_l2": BM(((ofs + 2) << 3) + 2), |
151 | | - "touchpad_left": BM(((ofs + 2) << 3)), |
| 151 | + "touchpad_left": BM(((ofs + 2) << 3) + 1), |
152 | 152 | } |
153 | 153 |
|
154 | 154 | SINPUT_BTN_MAP = get_button_mask(3) |
155 | 155 |
|
156 | | -STANDARD_BUTTONS = [ |
157 | | - "b", "a", "y", "x", |
158 | | - "dpad_up", "dpad_down", "dpad_left", "dpad_right", |
159 | | - "ls", "rs", "lb", "rb", |
160 | | - "lt", "rt", |
161 | | - "start", "select", "mode", "share", |
| 156 | +XINPUT = [ |
| 157 | + "b", |
| 158 | + "a", |
| 159 | + "y", |
| 160 | + "x", |
| 161 | + "dpad_up", |
| 162 | + "dpad_down", |
| 163 | + "dpad_left", |
| 164 | + "dpad_right", |
| 165 | + "ls", |
| 166 | + "rs", |
| 167 | + "lb", |
| 168 | + "rb", |
| 169 | + "start", |
| 170 | + "select", |
| 171 | + "mode", |
| 172 | +] |
| 173 | + |
| 174 | +STANDARD_BUTTONS = XINPUT + [ |
| 175 | + "share", |
162 | 176 | ] |
163 | 177 |
|
164 | 178 | DUAL_PADDLES = [ |
165 | | - "extra_l1", "extra_r1", |
| 179 | + "extra_l1", |
| 180 | + "extra_r1", |
166 | 181 | ] + STANDARD_BUTTONS |
167 | 182 |
|
168 | 183 | QUAD_PADDLES = [ |
169 | | - "extra_l1", "extra_r1", |
170 | | - "extra_l2", "extra_r2", |
| 184 | + "extra_l1", |
| 185 | + "extra_r1", |
| 186 | + "extra_l2", |
| 187 | + "extra_r2", |
171 | 188 | ] + STANDARD_BUTTONS |
| 189 | + |
| 190 | +SDL_SUBTYPE_FULL_MAPPING = 0x00 |
| 191 | +SDL_SUBTYPE_XINPUT_ONLY = 0x01 |
| 192 | +SDL_SUBTYPE_XINPUT_SHARE_NONE = 0x02 |
| 193 | +SDL_SUBTYPE_XINPUT_SHARE_DUAL = 0x03 |
| 194 | +SDL_SUBTYPE_XINPUT_SHARE_QUAD = 0x04 |
| 195 | +SDL_SUBTYPE_XINPUT_SHARE_NONE_CLICK = 0x05 |
| 196 | +SDL_SUBTYPE_XINPUT_SHARE_DUAL_CLICK = 0x06 |
| 197 | +SDL_SUBTYPE_XINPUT_SHARE_QUAD_CLICK = 0x07 |
| 198 | +SDL_SUBTYPE_LOAD_FIRMWARE = 0xFF |
| 199 | + |
| 200 | +SINPUT_AVAILABLE_BUTTONS = { |
| 201 | + SDL_SUBTYPE_XINPUT_ONLY: STANDARD_BUTTONS, |
| 202 | + SDL_SUBTYPE_XINPUT_SHARE_NONE: STANDARD_BUTTONS, |
| 203 | + SDL_SUBTYPE_XINPUT_SHARE_DUAL: DUAL_PADDLES, |
| 204 | + SDL_SUBTYPE_XINPUT_SHARE_QUAD: QUAD_PADDLES, |
| 205 | + SDL_SUBTYPE_XINPUT_SHARE_NONE_CLICK: STANDARD_BUTTONS + ["touchpad_left"], |
| 206 | + SDL_SUBTYPE_XINPUT_SHARE_DUAL_CLICK: DUAL_PADDLES + ["touchpad_left"], |
| 207 | + SDL_SUBTYPE_XINPUT_SHARE_QUAD_CLICK: QUAD_PADDLES + ["touchpad_left"], |
| 208 | +} |
0 commit comments