Commit 84d10b32 authored by Emmanuel Gil Peyrot's avatar Emmanuel Gil Peyrot Committed by linkmauve
Browse files

Wayland: Ask xkbcommon whether to repeat a key

parent 8bc0c5c2
......@@ -329,7 +329,7 @@ static xkb_keysym_t composeSymbol(xkb_keysym_t sym)
}
#endif
static void inputChar(_GLFWwindow* window, uint32_t key)
static GLFWbool inputChar(_GLFWwindow* window, uint32_t key)
{
uint32_t code, numSyms;
long cp;
......@@ -354,6 +354,8 @@ static void inputChar(_GLFWwindow* window, uint32_t key)
_glfwInputChar(window, cp, mods, plain);
}
}
return xkb_keymap_key_repeats(_glfw.wl.xkb.keymap, syms[0]);
}
static void keyboardHandleKey(void* data,
......@@ -366,6 +368,7 @@ static void keyboardHandleKey(void* data,
int keyCode;
int action;
_GLFWwindow* window = _glfw.wl.keyboardFocus;
GLFWbool shouldRepeat;
struct itimerspec timer = {};
if (!window)
......@@ -380,9 +383,9 @@ static void keyboardHandleKey(void* data,
if (action == GLFW_PRESS)
{
inputChar(window, key);
shouldRepeat = inputChar(window, key);
if (_glfw.wl.keyboardRepeatRate > 0)
if (shouldRepeat && _glfw.wl.keyboardRepeatRate > 0)
{
_glfw.wl.keyboardLastKey = keyCode;
_glfw.wl.keyboardLastScancode = key;
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment