mirror of
https://github.com/kovidgoyal/kitty
synced 2026-07-26 10:12:17 +02:00
Split out the glfw constants into their own module so they can be used on Travis without needing glfw
This commit is contained in:
255
glfw.py
255
glfw.py
@@ -70,6 +70,7 @@ def glfwGetVersion():
|
|||||||
_glfw.glfwGetVersion(byref(major), byref(minor), byref(rev))
|
_glfw.glfwGetVersion(byref(major), byref(minor), byref(rev))
|
||||||
return major.value, minor.value, rev.value
|
return major.value, minor.value, rev.value
|
||||||
|
|
||||||
|
|
||||||
version = glfwGetVersion()
|
version = glfwGetVersion()
|
||||||
|
|
||||||
if version[0] != 3:
|
if version[0] != 3:
|
||||||
@@ -83,259 +84,6 @@ GLFW_VERSION_MINOR = version[1]
|
|||||||
GLFW_VERSION_REVISION = version[2]
|
GLFW_VERSION_REVISION = version[2]
|
||||||
__version__ = GLFW_VERSION_MAJOR, GLFW_VERSION_MINOR, GLFW_VERSION_REVISION
|
__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 --------------------------------------------------------------
|
# --- Structures --------------------------------------------------------------
|
||||||
class GLFWvidmode(Structure):
|
class GLFWvidmode(Structure):
|
||||||
@@ -361,6 +109,7 @@ class GLFWwindow(Structure):
|
|||||||
class GLFWmonitor(Structure):
|
class GLFWmonitor(Structure):
|
||||||
pass
|
pass
|
||||||
|
|
||||||
|
|
||||||
# --- Callbacks ---------------------------------------------------------------
|
# --- Callbacks ---------------------------------------------------------------
|
||||||
errorfun = CFUNCTYPE(None, c_int, c_char_p)
|
errorfun = CFUNCTYPE(None, c_int, c_char_p)
|
||||||
windowposfun = CFUNCTYPE(None, POINTER(GLFWwindow), c_int, c_int)
|
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
|
from queue import Queue, Empty
|
||||||
|
|
||||||
import glfw
|
import glfw
|
||||||
|
import glfw_constants
|
||||||
|
|
||||||
from .constants import appname
|
from .constants import appname
|
||||||
from .char_grid import CharGrid
|
from .char_grid import CharGrid
|
||||||
@@ -107,8 +108,8 @@ class Boss(Thread):
|
|||||||
self.write_to_child(b'\x1b[O')
|
self.write_to_child(b'\x1b[O')
|
||||||
|
|
||||||
def on_mouse_button(self, window, button, action, mods):
|
def on_mouse_button(self, window, button, action, mods):
|
||||||
if action == glfw.GLFW_RELEASE:
|
if action == glfw_constants.GLFW_RELEASE:
|
||||||
if button == glfw.GLFW_MOUSE_BUTTON_MIDDLE:
|
if button == glfw_constants.GLFW_MOUSE_BUTTON_MIDDLE:
|
||||||
# glfw has no way to get the primary selection
|
# glfw has no way to get the primary selection
|
||||||
# text = glfw.glfwGetClipboardString(window)
|
# text = glfw.glfwGetClipboardString(window)
|
||||||
text = subprocess.check_output(['xsel'])
|
text = subprocess.check_output(['xsel'])
|
||||||
@@ -118,7 +119,7 @@ class Boss(Thread):
|
|||||||
self.write_to_child(text)
|
self.write_to_child(text)
|
||||||
|
|
||||||
def on_key(self, window, key, scancode, action, mods):
|
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)
|
data = interpret_key_event(key, scancode, mods)
|
||||||
if data:
|
if data:
|
||||||
self.write_to_child(data)
|
self.write_to_child(data)
|
||||||
|
|||||||
@@ -7,7 +7,7 @@ import sys
|
|||||||
from collections import namedtuple
|
from collections import namedtuple
|
||||||
from itertools import repeat
|
from itertools import repeat
|
||||||
|
|
||||||
import glfw
|
import glfw_constants as glfw
|
||||||
|
|
||||||
from .fast_data_types import CURSOR_BLOCK, CURSOR_BEAM, CURSOR_UNDERLINE
|
from .fast_data_types import CURSOR_BLOCK, CURSOR_BEAM, CURSOR_UNDERLINE
|
||||||
|
|
||||||
|
|||||||
@@ -2,62 +2,62 @@
|
|||||||
# vim:fileencoding=utf-8
|
# vim:fileencoding=utf-8
|
||||||
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
# License: GPL v3 Copyright: 2016, Kovid Goyal <kovid at kovidgoyal.net>
|
||||||
|
|
||||||
import glfw
|
import glfw_constants as defines
|
||||||
|
|
||||||
key_map = {
|
key_map = {
|
||||||
glfw.GLFW_KEY_UP: b'OA',
|
defines.GLFW_KEY_UP: b'OA',
|
||||||
glfw.GLFW_KEY_DOWN: b'OB',
|
defines.GLFW_KEY_DOWN: b'OB',
|
||||||
glfw.GLFW_KEY_LEFT: b'OD',
|
defines.GLFW_KEY_LEFT: b'OD',
|
||||||
glfw.GLFW_KEY_RIGHT: b'OC',
|
defines.GLFW_KEY_RIGHT: b'OC',
|
||||||
glfw.GLFW_KEY_HOME: b'OH',
|
defines.GLFW_KEY_HOME: b'OH',
|
||||||
glfw.GLFW_KEY_END: b'OF',
|
defines.GLFW_KEY_END: b'OF',
|
||||||
glfw.GLFW_KEY_ESCAPE: b'',
|
defines.GLFW_KEY_ESCAPE: b'',
|
||||||
glfw.GLFW_KEY_INSERT: b'[2~',
|
defines.GLFW_KEY_INSERT: b'[2~',
|
||||||
glfw.GLFW_KEY_DELETE: b'[3~',
|
defines.GLFW_KEY_DELETE: b'[3~',
|
||||||
glfw.GLFW_KEY_PAGE_UP: b'[5~',
|
defines.GLFW_KEY_PAGE_UP: b'[5~',
|
||||||
glfw.GLFW_KEY_PAGE_DOWN: b'[6~',
|
defines.GLFW_KEY_PAGE_DOWN: b'[6~',
|
||||||
glfw.GLFW_KEY_F1: b'OP',
|
defines.GLFW_KEY_F1: b'OP',
|
||||||
glfw.GLFW_KEY_F2: b'OQ',
|
defines.GLFW_KEY_F2: b'OQ',
|
||||||
glfw.GLFW_KEY_F3: b'OR',
|
defines.GLFW_KEY_F3: b'OR',
|
||||||
glfw.GLFW_KEY_F4: b'OS',
|
defines.GLFW_KEY_F4: b'OS',
|
||||||
glfw.GLFW_KEY_F5: b'[15~',
|
defines.GLFW_KEY_F5: b'[15~',
|
||||||
glfw.GLFW_KEY_F6: b'[17~',
|
defines.GLFW_KEY_F6: b'[17~',
|
||||||
glfw.GLFW_KEY_F7: b'[18~',
|
defines.GLFW_KEY_F7: b'[18~',
|
||||||
glfw.GLFW_KEY_F8: b'[19~',
|
defines.GLFW_KEY_F8: b'[19~',
|
||||||
glfw.GLFW_KEY_F9: b'[20~',
|
defines.GLFW_KEY_F9: b'[20~',
|
||||||
glfw.GLFW_KEY_F10: b'[21~',
|
defines.GLFW_KEY_F10: b'[21~',
|
||||||
glfw.GLFW_KEY_F11: b'[23~',
|
defines.GLFW_KEY_F11: b'[23~',
|
||||||
glfw.GLFW_KEY_F12: b'[24~',
|
defines.GLFW_KEY_F12: b'[24~',
|
||||||
}
|
}
|
||||||
key_map = {k: b'\x1b' + v for k, v in key_map.items()}
|
key_map = {k: b'\x1b' + v for k, v in key_map.items()}
|
||||||
key_map[glfw.GLFW_KEY_ENTER] = b'\r'
|
key_map[defines.GLFW_KEY_ENTER] = b'\r'
|
||||||
key_map[glfw.GLFW_KEY_BACKSPACE] = b'\x08'
|
key_map[defines.GLFW_KEY_BACKSPACE] = b'\x08'
|
||||||
key_map[glfw.GLFW_KEY_TAB] = b'\t'
|
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))}
|
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(glfw.GLFW_KEY_A, glfw.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):
|
def interpret_key_event(key, scancode, mods):
|
||||||
data = bytearray()
|
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
|
# Map Ctrl-key to ascii control code
|
||||||
data.append(control_codes[key])
|
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
|
# Map Alt+key to Esc-key
|
||||||
data.extend(alt_codes[key])
|
data.extend(alt_codes[key])
|
||||||
else:
|
else:
|
||||||
x = key_map.get(key)
|
x = key_map.get(key)
|
||||||
if x is not None:
|
if x is not None:
|
||||||
if mods == glfw.GLFW_MOD_SHIFT:
|
if mods == defines.GLFW_MOD_SHIFT:
|
||||||
if key == glfw.GLFW_KEY_TAB:
|
if key == defines.GLFW_KEY_TAB:
|
||||||
x = b'\x1b[Z'
|
x = b'\x1b[Z'
|
||||||
data.extend(x)
|
data.extend(x)
|
||||||
return bytes(data)
|
return bytes(data)
|
||||||
|
|
||||||
|
|
||||||
def interpret_text_event(codepoint, mods):
|
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
|
return b'' # Handled by interpret_key_event above
|
||||||
data = chr(codepoint).encode('utf-8')
|
data = chr(codepoint).encode('utf-8')
|
||||||
return data
|
return data
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ from .constants import appname, str_version, config_dir
|
|||||||
from .boss import Boss
|
from .boss import Boss
|
||||||
from .shaders import GL_VERSION
|
from .shaders import GL_VERSION
|
||||||
from .fast_data_types import glewInit, enable_automatic_opengl_error_checking
|
from .fast_data_types import glewInit, enable_automatic_opengl_error_checking
|
||||||
import glfw
|
import glfw, glfw_constants
|
||||||
|
|
||||||
|
|
||||||
def option_parser():
|
def option_parser():
|
||||||
@@ -37,11 +37,11 @@ def option_parser():
|
|||||||
|
|
||||||
|
|
||||||
def setup_opengl():
|
def setup_opengl():
|
||||||
glfw.glfwWindowHint(glfw.GLFW_CONTEXT_VERSION_MAJOR, GL_VERSION[0])
|
glfw.glfwWindowHint(glfw_constants.GLFW_CONTEXT_VERSION_MAJOR, GL_VERSION[0])
|
||||||
glfw.glfwWindowHint(glfw.GLFW_CONTEXT_VERSION_MINOR, GL_VERSION[1])
|
glfw.glfwWindowHint(glfw_constants.GLFW_CONTEXT_VERSION_MINOR, GL_VERSION[1])
|
||||||
glfw.glfwWindowHint(glfw.GLFW_OPENGL_PROFILE, glfw.GLFW_OPENGL_CORE_PROFILE)
|
glfw.glfwWindowHint(glfw_constants.GLFW_OPENGL_PROFILE, glfw_constants.GLFW_OPENGL_CORE_PROFILE)
|
||||||
glfw.glfwWindowHint(glfw.GLFW_OPENGL_FORWARD_COMPAT, True)
|
glfw.glfwWindowHint(glfw_constants.GLFW_OPENGL_FORWARD_COMPAT, True)
|
||||||
glfw.glfwWindowHint(glfw.GLFW_SAMPLES, 0)
|
glfw.glfwWindowHint(glfw_constants.GLFW_SAMPLES, 0)
|
||||||
|
|
||||||
|
|
||||||
def run_app(opts, args, child):
|
def run_app(opts, args, child):
|
||||||
|
|||||||
Reference in New Issue
Block a user