~ruther/dwl

21f42a86d7be1046a7ddc99487ab98d41fef2c8f — Devin J. Pohly 5 years ago df1aaa4
make key mappings configurable in config.h
1 files changed, 9 insertions(+), 10 deletions(-)

M dwl.c
M dwl.c => dwl.c +9 -10
@@ 26,6 26,8 @@
#include <wlr/util/log.h>
#include <xkbcommon/xkbcommon.h>

#define LENGTH(X)               (sizeof X / sizeof X[0])

/* For brevity's sake, struct members are annotated where they are used. */
enum dwl_cursor_mode {
	DWL_CURSOR_PASSTHROUGH,


@@ 193,17 195,14 @@ static bool handle_keybinding(struct dwl_server *server, uint32_t mods, xkb_keys
	 * processing keys, rather than passing them on to the client for its own
	 * processing.
	 */
	switch (sym) {
	case XKB_KEY_Escape:
		quit(server, NULL);
		break;
	case XKB_KEY_F1:
		focusnext(server, NULL);
		break;
	default:
		return false;
	bool handled = false;
	for (int i = 0; i < LENGTH(keys); i++) {
		if (sym == keys[i].keysym && mods == keys[i].mod && keys[i].func) {
			keys[i].func(server, &keys[i].arg);
			handled = true;
		}
	}
	return true;
	return handled;
}

static void keyboard_handle_key(

Do not follow this link