Split out the glfw constants into their own module so they can be used on Travis without needing glfw
This commit is contained in:
parent
d46bf3f8b1
commit
7342367679
255
glfw.py
255
glfw.py
@ -70,6 +70,7 @@ def glfwGetVersion():
|
||||
_glfw.glfwGetVersion(byref(major), byref(minor), byref(rev))
|
||||
return major.value, minor.value, rev.value
|
||||
|
||||
|
||||
version = glfwGetVersion()
|
||||
|
||||
if version[0] != 3:
|
||||
@ -83,259 +84,6 @@ GLFW_VERSION_MINOR = version[1]
|
||||
GLFW_VERSION_REVISION = version[2]
|
||||
__version__ = GLFW_VERSION_MAJOR, GLFW_VERSION_MINOR, GLFW_VERSION_REVISION
|
||||
|
||||
# --- Input handling definitions ----------------------------------------------
|
||||
GLFW_RELEASE = 0
|
||||
GLFW_PRESS = 1
|
||||
GLFW_REPEAT = 2
|
||||
|
||||
# --- Keys --------------------------------------------------------------------
|
||||
|
||||
# --- The unknown key ---------------------------------------------------------
|
||||
GLFW_KEY_UNKNOWN = -1
|
||||
|
||||
# --- Printable keys ----------------------------------------------------------
|
||||
GLFW_KEY_SPACE = 32
|
||||
GLFW_KEY_APOSTROPHE = 39 # ''
|
||||
GLFW_KEY_COMMA = 44 # ,
|
||||
GLFW_KEY_MINUS = 45 # -
|
||||
GLFW_KEY_PERIOD = 46 # .
|
||||
GLFW_KEY_SLASH = 47 # /
|
||||
GLFW_KEY_0 = 48
|
||||
GLFW_KEY_1 = 49
|
||||
GLFW_KEY_2 = 50
|
||||
GLFW_KEY_3 = 51
|
||||
GLFW_KEY_4 = 52
|
||||
GLFW_KEY_5 = 53
|
||||
GLFW_KEY_6 = 54
|
||||
GLFW_KEY_7 = 55
|
||||
GLFW_KEY_8 = 56
|
||||
GLFW_KEY_9 = 57
|
||||
GLFW_KEY_SEMICOLON = 59 # ;
|
||||
GLFW_KEY_EQUAL = 61 # =
|
||||
GLFW_KEY_A = 65
|
||||
GLFW_KEY_B = 66
|
||||
GLFW_KEY_C = 67
|
||||
GLFW_KEY_D = 68
|
||||
GLFW_KEY_E = 69
|
||||
GLFW_KEY_F = 70
|
||||
GLFW_KEY_G = 71
|
||||
GLFW_KEY_H = 72
|
||||
GLFW_KEY_I = 73
|
||||
GLFW_KEY_J = 74
|
||||
GLFW_KEY_K = 75
|
||||
GLFW_KEY_L = 76
|
||||
GLFW_KEY_M = 77
|
||||
GLFW_KEY_N = 78
|
||||
GLFW_KEY_O = 79
|
||||
GLFW_KEY_P = 80
|
||||
GLFW_KEY_Q = 81
|
||||
GLFW_KEY_R = 82
|
||||
GLFW_KEY_S = 83
|
||||
GLFW_KEY_T = 84
|
||||
GLFW_KEY_U = 85
|
||||
GLFW_KEY_V = 86
|
||||
GLFW_KEY_W = 87
|
||||
GLFW_KEY_X = 88
|
||||
GLFW_KEY_Y = 89
|
||||
GLFW_KEY_Z = 90
|
||||
GLFW_KEY_LEFT_BRACKET = 91 # [
|
||||
GLFW_KEY_BACKSLASH = 92 # \
|
||||
GLFW_KEY_RIGHT_BRACKET = 93 # ]
|
||||
GLFW_KEY_GRAVE_ACCENT = 96 # `
|
||||
GLFW_KEY_WORLD_1 = 161 # non-US #1
|
||||
GLFW_KEY_WORLD_2 = 162 # non-US #2
|
||||
|
||||
# --- Function keys -----------------------------------------------------------
|
||||
GLFW_KEY_ESCAPE = 256
|
||||
GLFW_KEY_ENTER = 257
|
||||
GLFW_KEY_TAB = 258
|
||||
GLFW_KEY_BACKSPACE = 259
|
||||
GLFW_KEY_INSERT = 260
|
||||
GLFW_KEY_DELETE = 261
|
||||
GLFW_KEY_RIGHT = 262
|
||||
GLFW_KEY_LEFT = 263
|
||||
GLFW_KEY_DOWN = 264
|
||||
GLFW_KEY_UP = 265
|
||||
GLFW_KEY_PAGE_UP = 266
|
||||
GLFW_KEY_PAGE_DOWN = 267
|
||||
GLFW_KEY_HOME = 268
|
||||
GLFW_KEY_END = 269
|
||||
GLFW_KEY_CAPS_LOCK = 280
|
||||
GLFW_KEY_SCROLL_LOCK = 281
|
||||
GLFW_KEY_NUM_LOCK = 282
|
||||
GLFW_KEY_PRINT_SCREEN = 283
|
||||
GLFW_KEY_PAUSE = 284
|
||||
GLFW_KEY_F1 = 290
|
||||
GLFW_KEY_F2 = 291
|
||||
GLFW_KEY_F3 = 292
|
||||
GLFW_KEY_F4 = 293
|
||||
GLFW_KEY_F5 = 294
|
||||
GLFW_KEY_F6 = 295
|
||||
GLFW_KEY_F7 = 296
|
||||
GLFW_KEY_F8 = 297
|
||||
GLFW_KEY_F9 = 298
|
||||
GLFW_KEY_F10 = 299
|
||||
GLFW_KEY_F11 = 300
|
||||
GLFW_KEY_F12 = 301
|
||||
GLFW_KEY_F13 = 302
|
||||
GLFW_KEY_F14 = 303
|
||||
GLFW_KEY_F15 = 304
|
||||
GLFW_KEY_F16 = 305
|
||||
GLFW_KEY_F17 = 306
|
||||
GLFW_KEY_F18 = 307
|
||||
GLFW_KEY_F19 = 308
|
||||
GLFW_KEY_F20 = 309
|
||||
GLFW_KEY_F21 = 310
|
||||
GLFW_KEY_F22 = 311
|
||||
GLFW_KEY_F23 = 312
|
||||
GLFW_KEY_F24 = 313
|
||||
GLFW_KEY_F25 = 314
|
||||
GLFW_KEY_KP_0 = 320
|
||||
GLFW_KEY_KP_1 = 321
|
||||
GLFW_KEY_KP_2 = 322
|
||||
GLFW_KEY_KP_3 = 323
|
||||
GLFW_KEY_KP_4 = 324
|
||||
GLFW_KEY_KP_5 = 325
|
||||
GLFW_KEY_KP_6 = 326
|
||||
GLFW_KEY_KP_7 = 327
|
||||
GLFW_KEY_KP_8 = 328
|
||||
GLFW_KEY_KP_9 = 329
|
||||
GLFW_KEY_KP_DECIMAL = 330
|
||||
GLFW_KEY_KP_DIVIDE = 331
|
||||
GLFW_KEY_KP_MULTIPLY = 332
|
||||
GLFW_KEY_KP_SUBTRACT = 333
|
||||
GLFW_KEY_KP_ADD = 334
|
||||
GLFW_KEY_KP_ENTER = 335
|
||||
GLFW_KEY_KP_EQUAL = 336
|
||||
GLFW_KEY_LEFT_SHIFT = 340
|
||||
GLFW_KEY_LEFT_CONTROL = 341
|
||||
GLFW_KEY_LEFT_ALT = 342
|
||||
GLFW_KEY_LEFT_SUPER = 343
|
||||
GLFW_KEY_RIGHT_SHIFT = 344
|
||||
GLFW_KEY_RIGHT_CONTROL = 345
|
||||
GLFW_KEY_RIGHT_ALT = 346
|
||||
GLFW_KEY_RIGHT_SUPER = 347
|
||||
GLFW_KEY_MENU = 348
|
||||
GLFW_KEY_LAST = GLFW_KEY_MENU
|
||||
|
||||
|
||||
# --- Modifiers ---------------------------------------------------------------
|
||||
GLFW_MOD_SHIFT = 0x0001
|
||||
GLFW_MOD_CONTROL = 0x0002
|
||||
GLFW_MOD_ALT = 0x0004
|
||||
GLFW_MOD_SUPER = 0x0008
|
||||
|
||||
# --- Mouse -------------------------------------------------------------------
|
||||
GLFW_MOUSE_BUTTON_1 = 0
|
||||
GLFW_MOUSE_BUTTON_2 = 1
|
||||
GLFW_MOUSE_BUTTON_3 = 2
|
||||
GLFW_MOUSE_BUTTON_4 = 3
|
||||
GLFW_MOUSE_BUTTON_5 = 4
|
||||
GLFW_MOUSE_BUTTON_6 = 5
|
||||
GLFW_MOUSE_BUTTON_7 = 6
|
||||
GLFW_MOUSE_BUTTON_8 = 7
|
||||
GLFW_MOUSE_BUTTON_LAST = GLFW_MOUSE_BUTTON_8
|
||||
GLFW_MOUSE_BUTTON_LEFT = GLFW_MOUSE_BUTTON_1
|
||||
GLFW_MOUSE_BUTTON_RIGHT = GLFW_MOUSE_BUTTON_2
|
||||
GLFW_MOUSE_BUTTON_MIDDLE = GLFW_MOUSE_BUTTON_3
|
||||
|
||||
|
||||
# --- Joystick ----------------------------------------------------------------
|
||||
GLFW_JOYSTICK_1 = 0
|
||||
GLFW_JOYSTICK_2 = 1
|
||||
GLFW_JOYSTICK_3 = 2
|
||||
GLFW_JOYSTICK_4 = 3
|
||||
GLFW_JOYSTICK_5 = 4
|
||||
GLFW_JOYSTICK_6 = 5
|
||||
GLFW_JOYSTICK_7 = 6
|
||||
GLFW_JOYSTICK_8 = 7
|
||||
GLFW_JOYSTICK_9 = 8
|
||||
GLFW_JOYSTICK_10 = 9
|
||||
GLFW_JOYSTICK_11 = 10
|
||||
GLFW_JOYSTICK_12 = 11
|
||||
GLFW_JOYSTICK_13 = 12
|
||||
GLFW_JOYSTICK_14 = 13
|
||||
GLFW_JOYSTICK_15 = 14
|
||||
GLFW_JOYSTICK_16 = 15
|
||||
GLFW_JOYSTICK_LAST = GLFW_JOYSTICK_16
|
||||
|
||||
|
||||
# --- Error codes -------------------------------------------------------------
|
||||
GLFW_NOT_INITIALIZED = 0x00010001
|
||||
GLFW_NO_CURRENT_CONTEXT = 0x00010002
|
||||
GLFW_INVALID_ENUM = 0x00010003
|
||||
GLFW_INVALID_VALUE = 0x00010004
|
||||
GLFW_OUT_OF_MEMORY = 0x00010005
|
||||
GLFW_API_UNAVAILABLE = 0x00010006
|
||||
GLFW_VERSION_UNAVAILABLE = 0x00010007
|
||||
GLFW_PLATFORM_ERROR = 0x00010008
|
||||
GLFW_FORMAT_UNAVAILABLE = 0x00010009
|
||||
|
||||
# ---
|
||||
GLFW_FOCUSED = 0x00020001
|
||||
GLFW_ICONIFIED = 0x00020002
|
||||
GLFW_RESIZABLE = 0x00020003
|
||||
GLFW_VISIBLE = 0x00020004
|
||||
GLFW_DECORATED = 0x00020005
|
||||
GLFW_AUTO_ICONIFY = 0x00020006
|
||||
GLFW_FLOATING = 0x00020007
|
||||
|
||||
# ---
|
||||
GLFW_RED_BITS = 0x00021001
|
||||
GLFW_GREEN_BITS = 0x00021002
|
||||
GLFW_BLUE_BITS = 0x00021003
|
||||
GLFW_ALPHA_BITS = 0x00021004
|
||||
GLFW_DEPTH_BITS = 0x00021005
|
||||
GLFW_STENCIL_BITS = 0x00021006
|
||||
GLFW_ACCUM_RED_BITS = 0x00021007
|
||||
GLFW_ACCUM_GREEN_BITS = 0x00021008
|
||||
GLFW_ACCUM_BLUE_BITS = 0x00021009
|
||||
GLFW_ACCUM_ALPHA_BITS = 0x0002100A
|
||||
GLFW_AUX_BUFFERS = 0x0002100B
|
||||
GLFW_STEREO = 0x0002100C
|
||||
GLFW_SAMPLES = 0x0002100D
|
||||
GLFW_SRGB_CAPABLE = 0x0002100E
|
||||
GLFW_REFRESH_RATE = 0x0002100F
|
||||
GLFW_DOUBLEBUFFER = 0x00021010
|
||||
|
||||
# ---
|
||||
GLFW_CLIENT_API = 0x00022001
|
||||
GLFW_CONTEXT_VERSION_MAJOR = 0x00022002
|
||||
GLFW_CONTEXT_VERSION_MINOR = 0x00022003
|
||||
GLFW_CONTEXT_REVISION = 0x00022004
|
||||
GLFW_CONTEXT_ROBUSTNESS = 0x00022005
|
||||
GLFW_OPENGL_FORWARD_COMPAT = 0x00022006
|
||||
GLFW_OPENGL_DEBUG_CONTEXT = 0x00022007
|
||||
GLFW_OPENGL_PROFILE = 0x00022008
|
||||
|
||||
# ---
|
||||
GLFW_OPENGL_API = 0x00030001
|
||||
GLFW_OPENGL_ES_API = 0x00030002
|
||||
|
||||
# ---
|
||||
GLFW_NO_ROBUSTNESS = 0
|
||||
GLFW_NO_RESET_NOTIFICATION = 0x00031001
|
||||
GLFW_LOSE_CONTEXT_ON_RESET = 0x00031002
|
||||
|
||||
# ---
|
||||
GLFW_OPENGL_ANY_PROFILE = 0
|
||||
GLFW_OPENGL_CORE_PROFILE = 0x00032001
|
||||
GLFW_OPENGL_COMPAT_PROFILE = 0x00032002
|
||||
|
||||
# ---
|
||||
GLFW_CURSOR = 0x00033001
|
||||
GLFW_STICKY_KEYS = 0x00033002
|
||||
GLFW_STICKY_MOUSE_BUTTONS = 0x00033003
|
||||
|
||||
# ---
|
||||
GLFW_CURSOR_NORMAL = 0x00034001
|
||||
GLFW_CURSOR_HIDDEN = 0x00034002
|
||||
GLFW_CURSOR_DISABLED = 0x00034003
|
||||
|
||||
# ---
|
||||
GLFW_CONNECTED = 0x00040001
|
||||
GLFW_DISCONNECTED = 0x00040002
|
||||
|
||||
|
||||
# --- Structures --------------------------------------------------------------
|
||||
class GLFWvidmode(Structure):
|
||||
@ -361,6 +109,7 @@ class GLFWwindow(Structure):
|
||||
class GLFWmonitor(Structure):
|
||||
pass
|
||||
|
||||
|
||||
# --- Callbacks ---------------------------------------------------------------
|
||||
errorfun = CFUNCTYPE(None, c_int, c_char_p)
|
||||
windowposfun = CFUNCTYPE(None, POINTER(GLFWwindow), c_int, c_int)
|
||||
|
||||
256
glfw_constants.py
Normal file
256
glfw_constants.py
Normal file
@ -0,0 +1,256 @@
|
||||
#!/usr/bin/env python
|
||||
# vim:fileencoding=utf-8
|
||||
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
# --- Input handling definitions ----------------------------------------------
|
||||
GLFW_RELEASE = 0
|
||||
GLFW_PRESS = 1
|
||||
GLFW_REPEAT = 2
|
||||
|
||||
# --- Keys --------------------------------------------------------------------
|
||||
|
||||
# --- The unknown key ---------------------------------------------------------
|
||||
GLFW_KEY_UNKNOWN = -1
|
||||
|
||||
# --- Printable keys ----------------------------------------------------------
|
||||
GLFW_KEY_SPACE = 32
|
||||
GLFW_KEY_APOSTROPHE = 39 # ''
|
||||
GLFW_KEY_COMMA = 44 # ,
|
||||
GLFW_KEY_MINUS = 45 # -
|
||||
GLFW_KEY_PERIOD = 46 # .
|
||||
GLFW_KEY_SLASH = 47 # /
|
||||
GLFW_KEY_0 = 48
|
||||
GLFW_KEY_1 = 49
|
||||
GLFW_KEY_2 = 50
|
||||
GLFW_KEY_3 = 51
|
||||
GLFW_KEY_4 = 52
|
||||
GLFW_KEY_5 = 53
|
||||
GLFW_KEY_6 = 54
|
||||
GLFW_KEY_7 = 55
|
||||
GLFW_KEY_8 = 56
|
||||
GLFW_KEY_9 = 57
|
||||
GLFW_KEY_SEMICOLON = 59 # ;
|
||||
GLFW_KEY_EQUAL = 61 # =
|
||||
GLFW_KEY_A = 65
|
||||
GLFW_KEY_B = 66
|
||||
GLFW_KEY_C = 67
|
||||
GLFW_KEY_D = 68
|
||||
GLFW_KEY_E = 69
|
||||
GLFW_KEY_F = 70
|
||||
GLFW_KEY_G = 71
|
||||
GLFW_KEY_H = 72
|
||||
GLFW_KEY_I = 73
|
||||
GLFW_KEY_J = 74
|
||||
GLFW_KEY_K = 75
|
||||
GLFW_KEY_L = 76
|
||||
GLFW_KEY_M = 77
|
||||
GLFW_KEY_N = 78
|
||||
GLFW_KEY_O = 79
|
||||
GLFW_KEY_P = 80
|
||||
GLFW_KEY_Q = 81
|
||||
GLFW_KEY_R = 82
|
||||
GLFW_KEY_S = 83
|
||||
GLFW_KEY_T = 84
|
||||
GLFW_KEY_U = 85
|
||||
GLFW_KEY_V = 86
|
||||
GLFW_KEY_W = 87
|
||||
GLFW_KEY_X = 88
|
||||
GLFW_KEY_Y = 89
|
||||
GLFW_KEY_Z = 90
|
||||
GLFW_KEY_LEFT_BRACKET = 91 # [
|
||||
GLFW_KEY_BACKSLASH = 92 # \
|
||||
GLFW_KEY_RIGHT_BRACKET = 93 # ]
|
||||
GLFW_KEY_GRAVE_ACCENT = 96 # `
|
||||
GLFW_KEY_WORLD_1 = 161 # non-US #1
|
||||
GLFW_KEY_WORLD_2 = 162 # non-US #2
|
||||
|
||||
# --- Function keys -----------------------------------------------------------
|
||||
GLFW_KEY_ESCAPE = 256
|
||||
GLFW_KEY_ENTER = 257
|
||||
GLFW_KEY_TAB = 258
|
||||
GLFW_KEY_BACKSPACE = 259
|
||||
GLFW_KEY_INSERT = 260
|
||||
GLFW_KEY_DELETE = 261
|
||||
GLFW_KEY_RIGHT = 262
|
||||
GLFW_KEY_LEFT = 263
|
||||
GLFW_KEY_DOWN = 264
|
||||
GLFW_KEY_UP = 265
|
||||
GLFW_KEY_PAGE_UP = 266
|
||||
GLFW_KEY_PAGE_DOWN = 267
|
||||
GLFW_KEY_HOME = 268
|
||||
GLFW_KEY_END = 269
|
||||
GLFW_KEY_CAPS_LOCK = 280
|
||||
GLFW_KEY_SCROLL_LOCK = 281
|
||||
GLFW_KEY_NUM_LOCK = 282
|
||||
GLFW_KEY_PRINT_SCREEN = 283
|
||||
GLFW_KEY_PAUSE = 284
|
||||
GLFW_KEY_F1 = 290
|
||||
GLFW_KEY_F2 = 291
|
||||
GLFW_KEY_F3 = 292
|
||||
GLFW_KEY_F4 = 293
|
||||
GLFW_KEY_F5 = 294
|
||||
GLFW_KEY_F6 = 295
|
||||
GLFW_KEY_F7 = 296
|
||||
GLFW_KEY_F8 = 297
|
||||
GLFW_KEY_F9 = 298
|
||||
GLFW_KEY_F10 = 299
|
||||
GLFW_KEY_F11 = 300
|
||||
GLFW_KEY_F12 = 301
|
||||
GLFW_KEY_F13 = 302
|
||||
GLFW_KEY_F14 = 303
|
||||
GLFW_KEY_F15 = 304
|
||||
GLFW_KEY_F16 = 305
|
||||
GLFW_KEY_F17 = 306
|
||||
GLFW_KEY_F18 = 307
|
||||
GLFW_KEY_F19 = 308
|
||||
GLFW_KEY_F20 = 309
|
||||
GLFW_KEY_F21 = 310
|
||||
GLFW_KEY_F22 = 311
|
||||
GLFW_KEY_F23 = 312
|
||||
GLFW_KEY_F24 = 313
|
||||
GLFW_KEY_F25 = 314
|
||||
GLFW_KEY_KP_0 = 320
|
||||
GLFW_KEY_KP_1 = 321
|
||||
GLFW_KEY_KP_2 = 322
|
||||
GLFW_KEY_KP_3 = 323
|
||||
GLFW_KEY_KP_4 = 324
|
||||
GLFW_KEY_KP_5 = 325
|
||||
GLFW_KEY_KP_6 = 326
|
||||
GLFW_KEY_KP_7 = 327
|
||||
GLFW_KEY_KP_8 = 328
|
||||
GLFW_KEY_KP_9 = 329
|
||||
GLFW_KEY_KP_DECIMAL = 330
|
||||
GLFW_KEY_KP_DIVIDE = 331
|
||||
GLFW_KEY_KP_MULTIPLY = 332
|
||||
GLFW_KEY_KP_SUBTRACT = 333
|
||||
GLFW_KEY_KP_ADD = 334
|
||||
GLFW_KEY_KP_ENTER = 335
|
||||
GLFW_KEY_KP_EQUAL = 336
|
||||
GLFW_KEY_LEFT_SHIFT = 340
|
||||
GLFW_KEY_LEFT_CONTROL = 341
|
||||
GLFW_KEY_LEFT_ALT = 342
|
||||
GLFW_KEY_LEFT_SUPER = 343
|
||||
GLFW_KEY_RIGHT_SHIFT = 344
|
||||
GLFW_KEY_RIGHT_CONTROL = 345
|
||||
GLFW_KEY_RIGHT_ALT = 346
|
||||
GLFW_KEY_RIGHT_SUPER = 347
|
||||
GLFW_KEY_MENU = 348
|
||||
GLFW_KEY_LAST = GLFW_KEY_MENU
|
||||
|
||||
|
||||
# --- Modifiers ---------------------------------------------------------------
|
||||
GLFW_MOD_SHIFT = 0x0001
|
||||
GLFW_MOD_CONTROL = 0x0002
|
||||
GLFW_MOD_ALT = 0x0004
|
||||
GLFW_MOD_SUPER = 0x0008
|
||||
|
||||
# --- Mouse -------------------------------------------------------------------
|
||||
GLFW_MOUSE_BUTTON_1 = 0
|
||||
GLFW_MOUSE_BUTTON_2 = 1
|
||||
GLFW_MOUSE_BUTTON_3 = 2
|
||||
GLFW_MOUSE_BUTTON_4 = 3
|
||||
GLFW_MOUSE_BUTTON_5 = 4
|
||||
GLFW_MOUSE_BUTTON_6 = 5
|
||||
GLFW_MOUSE_BUTTON_7 = 6
|
||||
GLFW_MOUSE_BUTTON_8 = 7
|
||||
GLFW_MOUSE_BUTTON_LAST = GLFW_MOUSE_BUTTON_8
|
||||
GLFW_MOUSE_BUTTON_LEFT = GLFW_MOUSE_BUTTON_1
|
||||
GLFW_MOUSE_BUTTON_RIGHT = GLFW_MOUSE_BUTTON_2
|
||||
GLFW_MOUSE_BUTTON_MIDDLE = GLFW_MOUSE_BUTTON_3
|
||||
|
||||
|
||||
# --- Joystick ----------------------------------------------------------------
|
||||
GLFW_JOYSTICK_1 = 0
|
||||
GLFW_JOYSTICK_2 = 1
|
||||
GLFW_JOYSTICK_3 = 2
|
||||
GLFW_JOYSTICK_4 = 3
|
||||
GLFW_JOYSTICK_5 = 4
|
||||
GLFW_JOYSTICK_6 = 5
|
||||
GLFW_JOYSTICK_7 = 6
|
||||
GLFW_JOYSTICK_8 = 7
|
||||
GLFW_JOYSTICK_9 = 8
|
||||
GLFW_JOYSTICK_10 = 9
|
||||
GLFW_JOYSTICK_11 = 10
|
||||
GLFW_JOYSTICK_12 = 11
|
||||
GLFW_JOYSTICK_13 = 12
|
||||
GLFW_JOYSTICK_14 = 13
|
||||
GLFW_JOYSTICK_15 = 14
|
||||
GLFW_JOYSTICK_16 = 15
|
||||
GLFW_JOYSTICK_LAST = GLFW_JOYSTICK_16
|
||||
|
||||
|
||||
# --- Error codes -------------------------------------------------------------
|
||||
GLFW_NOT_INITIALIZED = 0x00010001
|
||||
GLFW_NO_CURRENT_CONTEXT = 0x00010002
|
||||
GLFW_INVALID_ENUM = 0x00010003
|
||||
GLFW_INVALID_VALUE = 0x00010004
|
||||
GLFW_OUT_OF_MEMORY = 0x00010005
|
||||
GLFW_API_UNAVAILABLE = 0x00010006
|
||||
GLFW_VERSION_UNAVAILABLE = 0x00010007
|
||||
GLFW_PLATFORM_ERROR = 0x00010008
|
||||
GLFW_FORMAT_UNAVAILABLE = 0x00010009
|
||||
|
||||
# ---
|
||||
GLFW_FOCUSED = 0x00020001
|
||||
GLFW_ICONIFIED = 0x00020002
|
||||
GLFW_RESIZABLE = 0x00020003
|
||||
GLFW_VISIBLE = 0x00020004
|
||||
GLFW_DECORATED = 0x00020005
|
||||
GLFW_AUTO_ICONIFY = 0x00020006
|
||||
GLFW_FLOATING = 0x00020007
|
||||
|
||||
# ---
|
||||
GLFW_RED_BITS = 0x00021001
|
||||
GLFW_GREEN_BITS = 0x00021002
|
||||
GLFW_BLUE_BITS = 0x00021003
|
||||
GLFW_ALPHA_BITS = 0x00021004
|
||||
GLFW_DEPTH_BITS = 0x00021005
|
||||
GLFW_STENCIL_BITS = 0x00021006
|
||||
GLFW_ACCUM_RED_BITS = 0x00021007
|
||||
GLFW_ACCUM_GREEN_BITS = 0x00021008
|
||||
GLFW_ACCUM_BLUE_BITS = 0x00021009
|
||||
GLFW_ACCUM_ALPHA_BITS = 0x0002100A
|
||||
GLFW_AUX_BUFFERS = 0x0002100B
|
||||
GLFW_STEREO = 0x0002100C
|
||||
GLFW_SAMPLES = 0x0002100D
|
||||
GLFW_SRGB_CAPABLE = 0x0002100E
|
||||
GLFW_REFRESH_RATE = 0x0002100F
|
||||
GLFW_DOUBLEBUFFER = 0x00021010
|
||||
|
||||
# ---
|
||||
GLFW_CLIENT_API = 0x00022001
|
||||
GLFW_CONTEXT_VERSION_MAJOR = 0x00022002
|
||||
GLFW_CONTEXT_VERSION_MINOR = 0x00022003
|
||||
GLFW_CONTEXT_REVISION = 0x00022004
|
||||
GLFW_CONTEXT_ROBUSTNESS = 0x00022005
|
||||
GLFW_OPENGL_FORWARD_COMPAT = 0x00022006
|
||||
GLFW_OPENGL_DEBUG_CONTEXT = 0x00022007
|
||||
GLFW_OPENGL_PROFILE = 0x00022008
|
||||
|
||||
# ---
|
||||
GLFW_OPENGL_API = 0x00030001
|
||||
GLFW_OPENGL_ES_API = 0x00030002
|
||||
|
||||
# ---
|
||||
GLFW_NO_ROBUSTNESS = 0
|
||||
GLFW_NO_RESET_NOTIFICATION = 0x00031001
|
||||
GLFW_LOSE_CONTEXT_ON_RESET = 0x00031002
|
||||
|
||||
# ---
|
||||
GLFW_OPENGL_ANY_PROFILE = 0
|
||||
GLFW_OPENGL_CORE_PROFILE = 0x00032001
|
||||
GLFW_OPENGL_COMPAT_PROFILE = 0x00032002
|
||||
|
||||
# ---
|
||||
GLFW_CURSOR = 0x00033001
|
||||
GLFW_STICKY_KEYS = 0x00033002
|
||||
GLFW_STICKY_MOUSE_BUTTONS = 0x00033003
|
||||
|
||||
# ---
|
||||
GLFW_CURSOR_NORMAL = 0x00034001
|
||||
GLFW_CURSOR_HIDDEN = 0x00034002
|
||||
GLFW_CURSOR_DISABLED = 0x00034003
|
||||
|
||||
# ---
|
||||
GLFW_CONNECTED = 0x00040001
|
||||
GLFW_DISCONNECTED = 0x00040002
|
||||
@ -15,6 +15,7 @@ from threading import Thread, current_thread
|
||||
from queue import Queue, Empty
|
||||
|
||||
import glfw
|
||||
import glfw_constants
|
||||
|
||||
from .constants import appname
|
||||
from .char_grid import CharGrid
|
||||
@ -107,8 +108,8 @@ class Boss(Thread):
|
||||
self.write_to_child(b'\x1b[O')
|
||||
|
||||
def on_mouse_button(self, window, button, action, mods):
|
||||
if action == glfw.GLFW_RELEASE:
|
||||
if button == glfw.GLFW_MOUSE_BUTTON_MIDDLE:
|
||||
if action == glfw_constants.GLFW_RELEASE:
|
||||
if button == glfw_constants.GLFW_MOUSE_BUTTON_MIDDLE:
|
||||
# glfw has no way to get the primary selection
|
||||
# text = glfw.glfwGetClipboardString(window)
|
||||
text = subprocess.check_output(['xsel'])
|
||||
@ -118,7 +119,7 @@ class Boss(Thread):
|
||||
self.write_to_child(text)
|
||||
|
||||
def on_key(self, window, key, scancode, action, mods):
|
||||
if action == glfw.GLFW_PRESS or action == glfw.GLFW_REPEAT:
|
||||
if action == glfw_constants.GLFW_PRESS or action == glfw_constants.GLFW_REPEAT:
|
||||
data = interpret_key_event(key, scancode, mods)
|
||||
if data:
|
||||
self.write_to_child(data)
|
||||
|
||||
@ -7,7 +7,7 @@ import sys
|
||||
from collections import namedtuple
|
||||
from itertools import repeat
|
||||
|
||||
import glfw
|
||||
import glfw_constants as glfw
|
||||
|
||||
from .fast_data_types import CURSOR_BLOCK, CURSOR_BEAM, CURSOR_UNDERLINE
|
||||
|
||||
|
||||
@ -2,62 +2,62 @@
|
||||
# vim:fileencoding=utf-8
|
||||
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
||||
|
||||
import glfw
|
||||
import glfw_constants as defines
|
||||
|
||||
key_map = {
|
||||
glfw.GLFW_KEY_UP: b'OA',
|
||||
glfw.GLFW_KEY_DOWN: b'OB',
|
||||
glfw.GLFW_KEY_LEFT: b'OD',
|
||||
glfw.GLFW_KEY_RIGHT: b'OC',
|
||||
glfw.GLFW_KEY_HOME: b'OH',
|
||||
glfw.GLFW_KEY_END: b'OF',
|
||||
glfw.GLFW_KEY_ESCAPE: b'',
|
||||
glfw.GLFW_KEY_INSERT: b'[2~',
|
||||
glfw.GLFW_KEY_DELETE: b'[3~',
|
||||
glfw.GLFW_KEY_PAGE_UP: b'[5~',
|
||||
glfw.GLFW_KEY_PAGE_DOWN: b'[6~',
|
||||
glfw.GLFW_KEY_F1: b'OP',
|
||||
glfw.GLFW_KEY_F2: b'OQ',
|
||||
glfw.GLFW_KEY_F3: b'OR',
|
||||
glfw.GLFW_KEY_F4: b'OS',
|
||||
glfw.GLFW_KEY_F5: b'[15~',
|
||||
glfw.GLFW_KEY_F6: b'[17~',
|
||||
glfw.GLFW_KEY_F7: b'[18~',
|
||||
glfw.GLFW_KEY_F8: b'[19~',
|
||||
glfw.GLFW_KEY_F9: b'[20~',
|
||||
glfw.GLFW_KEY_F10: b'[21~',
|
||||
glfw.GLFW_KEY_F11: b'[23~',
|
||||
glfw.GLFW_KEY_F12: b'[24~',
|
||||
defines.GLFW_KEY_UP: b'OA',
|
||||
defines.GLFW_KEY_DOWN: b'OB',
|
||||
defines.GLFW_KEY_LEFT: b'OD',
|
||||
defines.GLFW_KEY_RIGHT: b'OC',
|
||||
defines.GLFW_KEY_HOME: b'OH',
|
||||
defines.GLFW_KEY_END: b'OF',
|
||||
defines.GLFW_KEY_ESCAPE: b'',
|
||||
defines.GLFW_KEY_INSERT: b'[2~',
|
||||
defines.GLFW_KEY_DELETE: b'[3~',
|
||||
defines.GLFW_KEY_PAGE_UP: b'[5~',
|
||||
defines.GLFW_KEY_PAGE_DOWN: b'[6~',
|
||||
defines.GLFW_KEY_F1: b'OP',
|
||||
defines.GLFW_KEY_F2: b'OQ',
|
||||
defines.GLFW_KEY_F3: b'OR',
|
||||
defines.GLFW_KEY_F4: b'OS',
|
||||
defines.GLFW_KEY_F5: b'[15~',
|
||||
defines.GLFW_KEY_F6: b'[17~',
|
||||
defines.GLFW_KEY_F7: b'[18~',
|
||||
defines.GLFW_KEY_F8: b'[19~',
|
||||
defines.GLFW_KEY_F9: b'[20~',
|
||||
defines.GLFW_KEY_F10: b'[21~',
|
||||
defines.GLFW_KEY_F11: b'[23~',
|
||||
defines.GLFW_KEY_F12: b'[24~',
|
||||
}
|
||||
key_map = {k: b'\x1b' + v for k, v in key_map.items()}
|
||||
key_map[glfw.GLFW_KEY_ENTER] = b'\r'
|
||||
key_map[glfw.GLFW_KEY_BACKSPACE] = b'\x08'
|
||||
key_map[glfw.GLFW_KEY_TAB] = b'\t'
|
||||
key_map[defines.GLFW_KEY_ENTER] = b'\r'
|
||||
key_map[defines.GLFW_KEY_BACKSPACE] = b'\x08'
|
||||
key_map[defines.GLFW_KEY_TAB] = b'\t'
|
||||
|
||||
control_codes = {k: 1 + i for i, k in enumerate(range(glfw.GLFW_KEY_A, glfw.GLFW_KEY_RIGHT_BRACKET))}
|
||||
alt_codes = {k: (0x1b, k) for i, k in enumerate(range(glfw.GLFW_KEY_A, glfw.GLFW_KEY_RIGHT_BRACKET))}
|
||||
control_codes = {k: 1 + i for i, k in enumerate(range(defines.GLFW_KEY_A, defines.GLFW_KEY_RIGHT_BRACKET))}
|
||||
alt_codes = {k: (0x1b, k) for i, k in enumerate(range(defines.GLFW_KEY_A, defines.GLFW_KEY_RIGHT_BRACKET))}
|
||||
|
||||
|
||||
def interpret_key_event(key, scancode, mods):
|
||||
data = bytearray()
|
||||
if mods == glfw.GLFW_MOD_CONTROL and key in control_codes:
|
||||
if mods == defines.GLFW_MOD_CONTROL and key in control_codes:
|
||||
# Map Ctrl-key to ascii control code
|
||||
data.append(control_codes[key])
|
||||
elif mods == glfw.GLFW_MOD_ALT and key in alt_codes:
|
||||
elif mods == defines.GLFW_MOD_ALT and key in alt_codes:
|
||||
# Map Alt+key to Esc-key
|
||||
data.extend(alt_codes[key])
|
||||
else:
|
||||
x = key_map.get(key)
|
||||
if x is not None:
|
||||
if mods == glfw.GLFW_MOD_SHIFT:
|
||||
if key == glfw.GLFW_KEY_TAB:
|
||||
if mods == defines.GLFW_MOD_SHIFT:
|
||||
if key == defines.GLFW_KEY_TAB:
|
||||
x = b'\x1b[Z'
|
||||
data.extend(x)
|
||||
return bytes(data)
|
||||
|
||||
|
||||
def interpret_text_event(codepoint, mods):
|
||||
if mods > glfw.GLFW_MOD_SHIFT:
|
||||
if mods > defines.GLFW_MOD_SHIFT:
|
||||
return b'' # Handled by interpret_key_event above
|
||||
data = chr(codepoint).encode('utf-8')
|
||||
return data
|
||||
|
||||
@ -16,7 +16,7 @@ from .constants import appname, str_version, config_dir
|
||||
from .boss import Boss
|
||||
from .shaders import GL_VERSION
|
||||
from .fast_data_types import glewInit, enable_automatic_opengl_error_checking
|
||||
import glfw
|
||||
import glfw, glfw_constants
|
||||
|
||||
|
||||
def option_parser():
|
||||
@ -37,11 +37,11 @@ def option_parser():
|
||||
|
||||
|
||||
def setup_opengl():
|
||||
glfw.glfwWindowHint(glfw.GLFW_CONTEXT_VERSION_MAJOR, GL_VERSION[0])
|
||||
glfw.glfwWindowHint(glfw.GLFW_CONTEXT_VERSION_MINOR, GL_VERSION[1])
|
||||
glfw.glfwWindowHint(glfw.GLFW_OPENGL_PROFILE, glfw.GLFW_OPENGL_CORE_PROFILE)
|
||||
glfw.glfwWindowHint(glfw.GLFW_OPENGL_FORWARD_COMPAT, True)
|
||||
glfw.glfwWindowHint(glfw.GLFW_SAMPLES, 0)
|
||||
glfw.glfwWindowHint(glfw_constants.GLFW_CONTEXT_VERSION_MAJOR, GL_VERSION[0])
|
||||
glfw.glfwWindowHint(glfw_constants.GLFW_CONTEXT_VERSION_MINOR, GL_VERSION[1])
|
||||
glfw.glfwWindowHint(glfw_constants.GLFW_OPENGL_PROFILE, glfw_constants.GLFW_OPENGL_CORE_PROFILE)
|
||||
glfw.glfwWindowHint(glfw_constants.GLFW_OPENGL_FORWARD_COMPAT, True)
|
||||
glfw.glfwWindowHint(glfw_constants.GLFW_SAMPLES, 0)
|
||||
|
||||
|
||||
def run_app(opts, args, child):
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user