Buttons.hpp
Go to the documentation of this file.
1 #ifndef GOSU_BUTTONS_HPP
2 #define GOSU_BUTTONS_HPP
3 
4 #include <Gosu/Platform.hpp>
5 
6 #ifdef GOSU_IS_MAC
7  #define GOSU_SCANCODE(mac, windows_or_linux) mac
8  #define GOSU_SPECIAL_SCANCODE(mac, windows, linux) mac
9 #else
10  #define GOSU_SCANCODE(mac, linux_or_windows) linux_or_windows
11  #ifdef GOSU_IS_WIN
12  #define GOSU_SPECIAL_SCANCODE(mac, windows, linux) windows
13  #else
14  #define GOSU_SPECIAL_SCANCODE(mac, windows, linux) linux
15  #endif
16 #endif
17 
18 namespace Gosu
19 {
24  {
26  kbEscape = GOSU_SCANCODE(0x35, 0x01),
27  kbF1 = GOSU_SCANCODE(0x7a, 0x3b),
28  kbF2 = GOSU_SCANCODE(0x78, 0x3c),
29  kbF3 = GOSU_SCANCODE(0x63, 0x3d),
30  kbF4 = GOSU_SCANCODE(0x76, 0x3e),
31  kbF5 = GOSU_SCANCODE(0x60, 0x3f),
32  kbF6 = GOSU_SCANCODE(0x61, 0x40),
33  kbF7 = GOSU_SCANCODE(0x62, 0x41),
34  kbF8 = GOSU_SCANCODE(0x64, 0x42),
35  kbF9 = GOSU_SCANCODE(0x65, 0x43),
36  kbF10 = GOSU_SCANCODE(0x6d, 0x44),
37  kbF11 = GOSU_SCANCODE(0x67, 0x57),
38  kbF12 = GOSU_SCANCODE(0x6f, 0x58),
39  kb0 = GOSU_SCANCODE(0x1d, 0x0b),
40  kb1 = GOSU_SCANCODE(0x12, 0x02),
41  kb2 = GOSU_SCANCODE(0x13, 0x03),
42  kb3 = GOSU_SCANCODE(0x14, 0x04),
43  kb4 = GOSU_SCANCODE(0x15, 0x05),
44  kb5 = GOSU_SCANCODE(0x17, 0x06),
45  kb6 = GOSU_SCANCODE(0x16, 0x07),
46  kb7 = GOSU_SCANCODE(0x1a, 0x08),
47  kb8 = GOSU_SCANCODE(0x1c, 0x09),
48  kb9 = GOSU_SCANCODE(0x19, 0x0a),
49  kbTab = GOSU_SCANCODE(0x30, 0x0f),
50  kbReturn = GOSU_SCANCODE(0x24, 0x1c),
51  kbSpace = GOSU_SCANCODE(0x31, 0x39),
52  kbLeftShift = GOSU_SCANCODE(0x38, 0x2a),
53  kbRightShift = GOSU_SCANCODE(0x3c, 0x36),
56  kbLeftAlt = GOSU_SCANCODE(0x3a, 0x38),
57  kbRightAlt = GOSU_SPECIAL_SCANCODE(0x3d, 0xb8, 0x64),
58  kbLeftMeta = GOSU_SPECIAL_SCANCODE(0x37, 0xdb, 0x7d),
59  kbRightMeta = GOSU_SPECIAL_SCANCODE(0x36, 0xdc, 0x7e),
60  kbBackspace = GOSU_SCANCODE(0x33, 0x0e),
61  kbLeft = GOSU_SPECIAL_SCANCODE(0x7b, 0xcb, 0x69),
62  kbRight = GOSU_SPECIAL_SCANCODE(0x7c, 0xcd, 0x6a),
63  kbUp = GOSU_SPECIAL_SCANCODE(0x7e, 0xc8, 0x67),
64  kbDown = GOSU_SPECIAL_SCANCODE(0x7d, 0xd0, 0x6c),
65  kbHome = GOSU_SPECIAL_SCANCODE(0x73, 0xc7, 0x66),
66  kbEnd = GOSU_SPECIAL_SCANCODE(0x77, 0xcf, 0x6b),
67  kbInsert = GOSU_SPECIAL_SCANCODE(0x72, 0xd2, 0x6e),
68  kbDelete = GOSU_SPECIAL_SCANCODE(0x75, 0xd3, 0x6f),
69  kbPageUp = GOSU_SPECIAL_SCANCODE(0x74, 0xc9, 0x68),
70  kbPageDown = GOSU_SPECIAL_SCANCODE(0x79, 0xd1, 0x6d),
71  kbEnter = GOSU_SPECIAL_SCANCODE(0x4c, 0x9c, 0x60),
72  kbBacktick = GOSU_SCANCODE(0x32, 0x29),
73  kbMinus = GOSU_SCANCODE(0x1b, 0x0c),
74  kbEqual = GOSU_SCANCODE(0x18, 0x0d),
77  kbBackslash = GOSU_SCANCODE(0x2a, 0x2b),
78  kbSemicolon = GOSU_SCANCODE(0x29, 0x27),
79  kbApostrophe = GOSU_SCANCODE(0x27, 0x28),
80  kbComma = GOSU_SCANCODE(0x2b, 0x33),
81  kbPeriod = GOSU_SCANCODE(0x2f, 0x34),
82  kbSlash = GOSU_SCANCODE(0x2c, 0x35),
83  kbA = GOSU_SCANCODE(0x00, 0x1e),
84  kbB = GOSU_SCANCODE(0x0b, 0x30),
85  kbC = GOSU_SCANCODE(0x08, 0x2e),
86  kbD = GOSU_SCANCODE(0x02, 0x20),
87  kbE = GOSU_SCANCODE(0x0e, 0x12),
88  kbF = GOSU_SCANCODE(0x03, 0x21),
89  kbG = GOSU_SCANCODE(0x05, 0x22),
90  kbH = GOSU_SCANCODE(0x04, 0x23),
91  kbI = GOSU_SCANCODE(0x22, 0x17),
92  kbJ = GOSU_SCANCODE(0x26, 0x24),
93  kbK = GOSU_SCANCODE(0x28, 0x25),
94  kbL = GOSU_SCANCODE(0x25, 0x26),
95  kbM = GOSU_SCANCODE(0x2e, 0x32),
96  kbN = GOSU_SCANCODE(0x2d, 0x31),
97  kbO = GOSU_SCANCODE(0x1f, 0x18),
98  kbP = GOSU_SCANCODE(0x23, 0x19),
99  kbQ = GOSU_SCANCODE(0x0c, 0x10),
100  kbR = GOSU_SCANCODE(0x0f, 0x13),
101  kbS = GOSU_SCANCODE(0x01, 0x1f),
102  kbT = GOSU_SCANCODE(0x11, 0x14),
103  kbU = GOSU_SCANCODE(0x20, 0x16),
104  kbV = GOSU_SCANCODE(0x09, 0x2f),
105  kbW = GOSU_SCANCODE(0x0d, 0x11),
106  kbX = GOSU_SCANCODE(0x07, 0x2d),
107  kbY = GOSU_SCANCODE(0x10, 0x15),
108  kbZ = GOSU_SCANCODE(0x06, 0x2c),
109  kbNumpad0 = GOSU_SCANCODE(0x52, 0x52),
110  kbNumpad1 = GOSU_SCANCODE(0x53, 0x4f),
111  kbNumpad2 = GOSU_SCANCODE(0x54, 0x50),
112  kbNumpad3 = GOSU_SCANCODE(0x55, 0x51),
113  kbNumpad4 = GOSU_SCANCODE(0x56, 0x4b),
114  kbNumpad5 = GOSU_SCANCODE(0x57, 0x4c),
115  kbNumpad6 = GOSU_SCANCODE(0x58, 0x4d),
116  kbNumpad7 = GOSU_SCANCODE(0x59, 0x47),
117  kbNumpad8 = GOSU_SCANCODE(0x5b, 0x48),
118  kbNumpad9 = GOSU_SCANCODE(0x5c, 0x49),
119  kbNumpadAdd = GOSU_SCANCODE(0x45, 0x4e),
123  kbRangeEnd = 0xff,
124 
139  msRangeEnd = 0x110,
140 
162 
183 
204 
225 
246 
248 
251  noButton = 0xffffffff,
252 
257  };
258 }
259 
260 #undef GOSU_SCANCODE
261 #undef GOSU_SPECIAL_SCANCODE
262 
263 #endif
#define GOSU_SCANCODE(mac, linux_or_windows)
Definition: Buttons.hpp:10
ButtonName
List of button ids that can be used with Gosu::Input.
Definition: Buttons.hpp:23
#define GOSU_SPECIAL_SCANCODE(mac, windows, linux)
Definition: Buttons.hpp:14
Macros and utility functions to facilitate programming on all of Gosu&#39;s supported platforms...