From 097e0430cab750ef3c2797a5a9fa4e406ae8dc85 Mon Sep 17 00:00:00 2001 From: Charles Bancroft Date: Thu, 13 Oct 2022 17:39:41 -0400 Subject: [PATCH] Add L/R hypers In some cases it is useful to specify which side the hyper key uses. This allows for some fun key bindings where your can bind lhyper + rshift for example --- src/hotkey.h | 8 ++++++++ src/parse.c | 3 ++- src/tokenize.h | 3 ++- 3 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/hotkey.h b/src/hotkey.h index 6b6e92a..45217e7 100644 --- a/src/hotkey.h +++ b/src/hotkey.h @@ -50,6 +50,14 @@ enum hotkey_flag Hotkey_Flag_Alt | Hotkey_Flag_Shift | Hotkey_Flag_Control), + Hotkey_Flag_RHyper = (Hotkey_Flag_RCmd | + Hotkey_Flag_RAlt | + Hotkey_Flag_RShift | + Hotkey_Flag_RControl), + Hotkey_Flag_LHyper = (Hotkey_Flag_LCmd | + Hotkey_Flag_LAlt | + Hotkey_Flag_LShift | + Hotkey_Flag_LControl), Hotkey_Flag_Meh = (Hotkey_Flag_Control | Hotkey_Flag_Shift | Hotkey_Flag_Alt) diff --git a/src/parse.c b/src/parse.c index 42feca2..c7d126e 100644 --- a/src/parse.c +++ b/src/parse.c @@ -207,7 +207,8 @@ internal enum hotkey_flag modifier_flags_value[] = Hotkey_Flag_Shift, Hotkey_Flag_LShift, Hotkey_Flag_RShift, Hotkey_Flag_Cmd, Hotkey_Flag_LCmd, Hotkey_Flag_RCmd, Hotkey_Flag_Control, Hotkey_Flag_LControl, Hotkey_Flag_RControl, - Hotkey_Flag_Fn, Hotkey_Flag_Hyper, Hotkey_Flag_Meh, + Hotkey_Flag_Fn, Hotkey_Flag_Hyper, Hotkey_Flag_LHyper, + Hotkey_Flag_RHyper, Hotkey_Flag_Meh, }; internal uint32_t diff --git a/src/tokenize.h b/src/tokenize.h index 52d76fc..366b59c 100644 --- a/src/tokenize.h +++ b/src/tokenize.h @@ -9,7 +9,8 @@ global const char *modifier_flags_str[] = "shift", "lshift", "rshift", "cmd", "lcmd", "rcmd", "ctrl", "lctrl", "rctrl", - "fn", "hyper", "meh", + "fn", "hyper", "lhyper", + "rhyper","meh", }; global const char *literal_keycode_str[] =