libOpenWinControls
Multiplatform open-source library to interact with the dual-mode controller in GPD devices
Loading...
Searching...
No Matches
XinputV1UsageIDMap.h
Go to the documentation of this file.
1/*
2* This file is part of libOpenWinControls.
3 * Copyright (C) 2026 kylon
4 *
5 * libOpenWinControls is free software: you can redistribute it and/or modify
6 * it under the terms of the GNU General Public License as published by
7 * the Free Software Foundation, either version 3 of the License, or
8 * (at your option) any later version.
9 *
10 * libOpenWinControls is distributed in the hope that it will be useful,
11 * but WITHOUT ANY WARRANTY; without even the implied warranty of
12 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13 * GNU General Public License for more details.
14 *
15 * You should have received a copy of the GNU General Public License
16 * along with this program. If not, see <http://www.gnu.org/licenses/>.
17 */
18#pragma once
19#include <map>
20#include <string>
21
25namespace OWC {
30 static const std::map<int, std::string> XinputV1UsageIDMap = {
31 {0, "UNSET"},
32 {0xff01, "DPAD_UP"},
33 {0xff02, "DPAD_DOWN"},
34 {0xff03, "DPAD_LEFT"},
35 {0xff04, "DPAD_RIGHT"},
36 {0xff05, "BTN_A"},
37 {0xff06, "BTN_B"},
38 {0xff07, "BTN_X"},
39 {0xff08, "BTN_Y"},
40 {0xff09, "LSTICK_UP"},
41 {0xff0a, "LSTICK_DOWN"},
42 {0xff0b, "LSTICK_LEFT"},
43 {0xff0c, "LSTICK_RIGHT"},
44 {0xff0d, "L3"},
45 {0xff0e, "R3"},
46 {0xff0f, "START"},
47 {0xff10, "SELECT"},
48 {0xff11, "MENU"},
49 {0xff12, "L1"},
50 {0xff13, "R1"},
51 {0xff14, "L2"},
52 {0xff15, "R2"},
53 {0xff16, "RSTICK_UP"},
54 {0xff17, "RSTICK_DOWN"},
55
56 // these 2 are inverted, at least on max2, either a v1 firmware typo or max2 bug
57 // don't have a v1 device to test, so suppose we'll see if someone complains on other v1 devs
58 {0xff18, "RSTICK_RIGHT"},
59 {0xff19, "RSTICK_LEFT"},
60 };
61}
static const std::map< int, std::string > XinputV1UsageIDMap
map of supported controller keys and their GPD custom keycode
Definition XinputV1UsageIDMap.h:30