diff options
| author | 2018-11-01 21:53:31 -0400 | |
|---|---|---|
| committer | 2018-11-18 23:21:33 -0500 | |
| commit | fd5fa48674d85be2c7d8c2d9ab84b410bb47341b (patch) | |
| tree | 50550d3cb8caa650b167e78ca7b435013e3777f0 /src | |
| parent | settings: Add Native type for mouse buttons (diff) | |
| download | yuzu-fd5fa48674d85be2c7d8c2d9ab84b410bb47341b.tar.gz yuzu-fd5fa48674d85be2c7d8c2d9ab84b410bb47341b.tar.xz yuzu-fd5fa48674d85be2c7d8c2d9ab84b410bb47341b.zip | |
settings: Add Native type for keyboard
Diffstat (limited to 'src')
| -rw-r--r-- | src/core/settings.h | 210 |
1 files changed, 210 insertions, 0 deletions
diff --git a/src/core/settings.h b/src/core/settings.h index d9aa14cd2..54a4859b9 100644 --- a/src/core/settings.h +++ b/src/core/settings.h | |||
| @@ -135,6 +135,212 @@ static const std::array<const char*, NumMouseButtons> mapping = {{ | |||
| 135 | }}; | 135 | }}; |
| 136 | } // namespace NativeMouseButton | 136 | } // namespace NativeMouseButton |
| 137 | 137 | ||
| 138 | namespace NativeKeyboard { | ||
| 139 | enum Keys { | ||
| 140 | None, | ||
| 141 | Error, | ||
| 142 | |||
| 143 | A = 4, | ||
| 144 | B, | ||
| 145 | C, | ||
| 146 | D, | ||
| 147 | E, | ||
| 148 | F, | ||
| 149 | G, | ||
| 150 | H, | ||
| 151 | I, | ||
| 152 | J, | ||
| 153 | K, | ||
| 154 | L, | ||
| 155 | M, | ||
| 156 | N, | ||
| 157 | O, | ||
| 158 | P, | ||
| 159 | Q, | ||
| 160 | R, | ||
| 161 | S, | ||
| 162 | T, | ||
| 163 | U, | ||
| 164 | V, | ||
| 165 | W, | ||
| 166 | X, | ||
| 167 | Y, | ||
| 168 | Z, | ||
| 169 | N1, | ||
| 170 | N2, | ||
| 171 | N3, | ||
| 172 | N4, | ||
| 173 | N5, | ||
| 174 | N6, | ||
| 175 | N7, | ||
| 176 | N8, | ||
| 177 | N9, | ||
| 178 | N0, | ||
| 179 | Enter, | ||
| 180 | Escape, | ||
| 181 | Backspace, | ||
| 182 | Tab, | ||
| 183 | Space, | ||
| 184 | Minus, | ||
| 185 | Equal, | ||
| 186 | LeftBrace, | ||
| 187 | RightBrace, | ||
| 188 | Backslash, | ||
| 189 | Tilde, | ||
| 190 | Semicolon, | ||
| 191 | Apostrophe, | ||
| 192 | Grave, | ||
| 193 | Comma, | ||
| 194 | Dot, | ||
| 195 | Slash, | ||
| 196 | CapsLockKey, | ||
| 197 | |||
| 198 | F1, | ||
| 199 | F2, | ||
| 200 | F3, | ||
| 201 | F4, | ||
| 202 | F5, | ||
| 203 | F6, | ||
| 204 | F7, | ||
| 205 | F8, | ||
| 206 | F9, | ||
| 207 | F10, | ||
| 208 | F11, | ||
| 209 | F12, | ||
| 210 | |||
| 211 | SystemRequest, | ||
| 212 | ScrollLockKey, | ||
| 213 | Pause, | ||
| 214 | Insert, | ||
| 215 | Home, | ||
| 216 | PageUp, | ||
| 217 | Delete, | ||
| 218 | End, | ||
| 219 | PageDown, | ||
| 220 | Right, | ||
| 221 | Left, | ||
| 222 | Down, | ||
| 223 | Up, | ||
| 224 | |||
| 225 | NumLockKey, | ||
| 226 | KPSlash, | ||
| 227 | KPAsterisk, | ||
| 228 | KPMinus, | ||
| 229 | KPPlus, | ||
| 230 | KPEnter, | ||
| 231 | KP1, | ||
| 232 | KP2, | ||
| 233 | KP3, | ||
| 234 | KP4, | ||
| 235 | KP5, | ||
| 236 | KP6, | ||
| 237 | KP7, | ||
| 238 | KP8, | ||
| 239 | KP9, | ||
| 240 | KP0, | ||
| 241 | KPDot, | ||
| 242 | |||
| 243 | Key102, | ||
| 244 | Compose, | ||
| 245 | Power, | ||
| 246 | KPEqual, | ||
| 247 | |||
| 248 | F13, | ||
| 249 | F14, | ||
| 250 | F15, | ||
| 251 | F16, | ||
| 252 | F17, | ||
| 253 | F18, | ||
| 254 | F19, | ||
| 255 | F20, | ||
| 256 | F21, | ||
| 257 | F22, | ||
| 258 | F23, | ||
| 259 | F24, | ||
| 260 | |||
| 261 | Open, | ||
| 262 | Help, | ||
| 263 | Properties, | ||
| 264 | Front, | ||
| 265 | Stop, | ||
| 266 | Repeat, | ||
| 267 | Undo, | ||
| 268 | Cut, | ||
| 269 | Copy, | ||
| 270 | Paste, | ||
| 271 | Find, | ||
| 272 | Mute, | ||
| 273 | VolumeUp, | ||
| 274 | VolumeDown, | ||
| 275 | CapsLockActive, | ||
| 276 | NumLockActive, | ||
| 277 | ScrollLockActive, | ||
| 278 | KPComma, | ||
| 279 | |||
| 280 | KPLeftParenthesis, | ||
| 281 | KPRightParenthesis, | ||
| 282 | |||
| 283 | LeftControlKey = 0xE0, | ||
| 284 | LeftShiftKey, | ||
| 285 | LeftAltKey, | ||
| 286 | LeftMetaKey, | ||
| 287 | RightControlKey, | ||
| 288 | RightShiftKey, | ||
| 289 | RightAltKey, | ||
| 290 | RightMetaKey, | ||
| 291 | |||
| 292 | MediaPlayPause, | ||
| 293 | MediaStopCD, | ||
| 294 | MediaPrevious, | ||
| 295 | MediaNext, | ||
| 296 | MediaEject, | ||
| 297 | MediaVolumeUp, | ||
| 298 | MediaVolumeDown, | ||
| 299 | MediaMute, | ||
| 300 | MediaWebsite, | ||
| 301 | MediaBack, | ||
| 302 | MediaForward, | ||
| 303 | MediaStop, | ||
| 304 | MediaFind, | ||
| 305 | MediaScrollUp, | ||
| 306 | MediaScrollDown, | ||
| 307 | MediaEdit, | ||
| 308 | MediaSleep, | ||
| 309 | MediaCoffee, | ||
| 310 | MediaRefresh, | ||
| 311 | MediaCalculator, | ||
| 312 | |||
| 313 | NumKeyboardKeys, | ||
| 314 | }; | ||
| 315 | |||
| 316 | static_assert(NumKeyboardKeys == 0xFC, "Incorrect number of keyboard keys."); | ||
| 317 | |||
| 318 | enum Modifiers { | ||
| 319 | LeftControl, | ||
| 320 | LeftShift, | ||
| 321 | LeftAlt, | ||
| 322 | LeftMeta, | ||
| 323 | RightControl, | ||
| 324 | RightShift, | ||
| 325 | RightAlt, | ||
| 326 | RightMeta, | ||
| 327 | CapsLock, | ||
| 328 | ScrollLock, | ||
| 329 | NumLock, | ||
| 330 | |||
| 331 | NumKeyboardMods, | ||
| 332 | }; | ||
| 333 | |||
| 334 | constexpr int KEYBOARD_KEYS_HID_BEGIN = None; | ||
| 335 | constexpr int KEYBOARD_KEYS_HID_END = NumKeyboardKeys; | ||
| 336 | constexpr int NUM_KEYBOARD_KEYS_HID = NumKeyboardKeys; | ||
| 337 | |||
| 338 | constexpr int KEYBOARD_MODS_HID_BEGIN = LeftControl; | ||
| 339 | constexpr int KEYBOARD_MODS_HID_END = NumKeyboardMods; | ||
| 340 | constexpr int NUM_KEYBOARD_MODS_HID = NumKeyboardMods; | ||
| 341 | |||
| 342 | } // namespace NativeKeyboard | ||
| 343 | |||
| 138 | struct Values { | 344 | struct Values { |
| 139 | // System | 345 | // System |
| 140 | bool use_docked_mode; | 346 | bool use_docked_mode; |
| @@ -149,6 +355,10 @@ struct Values { | |||
| 149 | bool mouse_enabled; | 355 | bool mouse_enabled; |
| 150 | std::string mouse_device; | 356 | std::string mouse_device; |
| 151 | MouseButtonsRaw mouse_buttons; | 357 | MouseButtonsRaw mouse_buttons; |
| 358 | |||
| 359 | bool keyboard_enabled; | ||
| 360 | KeyboardKeysRaw keyboard_keys; | ||
| 361 | KeyboardModsRaw keyboard_mods; | ||
| 152 | std::string motion_device; | 362 | std::string motion_device; |
| 153 | std::string touch_device; | 363 | std::string touch_device; |
| 154 | std::atomic_bool is_device_reload_pending{true}; | 364 | std::atomic_bool is_device_reload_pending{true}; |