mirror of
https://github.com/glfw/glfw.git
synced 2024-11-22 21:14:35 +00:00
parent
afb6e485b7
commit
f17d60da64
@ -35,7 +35,10 @@
|
|||||||
//
|
//
|
||||||
static void createKeyTables(void)
|
static void createKeyTables(void)
|
||||||
{
|
{
|
||||||
|
int scancode;
|
||||||
|
|
||||||
memset(_glfw.mir.publicKeys, -1, sizeof(_glfw.mir.publicKeys));
|
memset(_glfw.mir.publicKeys, -1, sizeof(_glfw.mir.publicKeys));
|
||||||
|
memset(_glfw.mir.nativeKeys, -1, sizeof(_glfw.mir.nativeKeys));
|
||||||
|
|
||||||
_glfw.mir.publicKeys[KEY_GRAVE] = GLFW_KEY_GRAVE_ACCENT;
|
_glfw.mir.publicKeys[KEY_GRAVE] = GLFW_KEY_GRAVE_ACCENT;
|
||||||
_glfw.mir.publicKeys[KEY_1] = GLFW_KEY_1;
|
_glfw.mir.publicKeys[KEY_1] = GLFW_KEY_1;
|
||||||
@ -153,6 +156,12 @@ static void createKeyTables(void)
|
|||||||
_glfw.mir.publicKeys[KEY_KPCOMMA] = GLFW_KEY_KP_DECIMAL;
|
_glfw.mir.publicKeys[KEY_KPCOMMA] = GLFW_KEY_KP_DECIMAL;
|
||||||
_glfw.mir.publicKeys[KEY_KPEQUAL] = GLFW_KEY_KP_EQUAL;
|
_glfw.mir.publicKeys[KEY_KPEQUAL] = GLFW_KEY_KP_EQUAL;
|
||||||
_glfw.mir.publicKeys[KEY_KPENTER] = GLFW_KEY_KP_ENTER;
|
_glfw.mir.publicKeys[KEY_KPENTER] = GLFW_KEY_KP_ENTER;
|
||||||
|
|
||||||
|
for (scancode = 0; scancode < 256; scancode++)
|
||||||
|
{
|
||||||
|
if (_glfw.mir.publicKeys[scancode] > 0)
|
||||||
|
_glfw.mir.nativeKeys[_glfw.mir.publicKeys[scancode]] = scancode;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -108,6 +108,7 @@ typedef struct _GLFWlibraryMir
|
|||||||
EventQueue* event_queue;
|
EventQueue* event_queue;
|
||||||
|
|
||||||
short int publicKeys[256];
|
short int publicKeys[256];
|
||||||
|
short int nativeKeys[GLFW_KEY_LAST + 1];
|
||||||
|
|
||||||
pthread_mutex_t event_mutex;
|
pthread_mutex_t event_mutex;
|
||||||
pthread_cond_t event_cond;
|
pthread_cond_t event_cond;
|
||||||
|
@ -440,7 +440,10 @@ static const struct wl_registry_listener registryListener = {
|
|||||||
//
|
//
|
||||||
static void createKeyTables(void)
|
static void createKeyTables(void)
|
||||||
{
|
{
|
||||||
|
int scancode;
|
||||||
|
|
||||||
memset(_glfw.wl.publicKeys, -1, sizeof(_glfw.wl.publicKeys));
|
memset(_glfw.wl.publicKeys, -1, sizeof(_glfw.wl.publicKeys));
|
||||||
|
memset(_glfw.wl.nativeKeys, -1, sizeof(_glfw.wl.nativeKeys));
|
||||||
|
|
||||||
_glfw.wl.publicKeys[KEY_GRAVE] = GLFW_KEY_GRAVE_ACCENT;
|
_glfw.wl.publicKeys[KEY_GRAVE] = GLFW_KEY_GRAVE_ACCENT;
|
||||||
_glfw.wl.publicKeys[KEY_1] = GLFW_KEY_1;
|
_glfw.wl.publicKeys[KEY_1] = GLFW_KEY_1;
|
||||||
@ -558,6 +561,12 @@ static void createKeyTables(void)
|
|||||||
_glfw.wl.publicKeys[KEY_KPCOMMA] = GLFW_KEY_KP_DECIMAL;
|
_glfw.wl.publicKeys[KEY_KPCOMMA] = GLFW_KEY_KP_DECIMAL;
|
||||||
_glfw.wl.publicKeys[KEY_KPEQUAL] = GLFW_KEY_KP_EQUAL;
|
_glfw.wl.publicKeys[KEY_KPEQUAL] = GLFW_KEY_KP_EQUAL;
|
||||||
_glfw.wl.publicKeys[KEY_KPENTER] = GLFW_KEY_KP_ENTER;
|
_glfw.wl.publicKeys[KEY_KPENTER] = GLFW_KEY_KP_ENTER;
|
||||||
|
|
||||||
|
for (scancode = 0; scancode < 256; scancode++)
|
||||||
|
{
|
||||||
|
if (_glfw.wl.publicKeys[scancode] > 0)
|
||||||
|
_glfw.wl.nativeKeys[_glfw.wl.publicKeys[scancode]] = scancode;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
@ -130,6 +130,7 @@ typedef struct _GLFWlibraryWayland
|
|||||||
int monitorsSize;
|
int monitorsSize;
|
||||||
|
|
||||||
short int publicKeys[256];
|
short int publicKeys[256];
|
||||||
|
short int nativeKeys[GLFW_KEY_LAST + 1];
|
||||||
|
|
||||||
struct {
|
struct {
|
||||||
struct xkb_context* context;
|
struct xkb_context* context;
|
||||||
|
Loading…
Reference in New Issue
Block a user