aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorkoekeishiya <aasvi93@hotmail.com>2018-05-22 18:13:58 +0200
committerkoekeishiya <aasvi93@hotmail.com>2018-05-22 18:13:58 +0200
commit1f639be61318987b6b1a2f7adea6085ee584dcac (patch)
tree4c301b4a2bde9ba13539754f7585f3eeb61b75f0 /src
parent6f7e2937aa823dffc69ede65031962bb83cd1e5b (diff)
downloadskhd-1f639be61318987b6b1a2f7adea6085ee584dcac.tar.gz
skhd-1f639be61318987b6b1a2f7adea6085ee584dcac.zip
code cleanup
Diffstat (limited to 'src')
-rw-r--r--src/hotkey.c25
-rw-r--r--src/hotkey.h8
-rw-r--r--src/skhd.c6
3 files changed, 17 insertions, 22 deletions
diff --git a/src/hotkey.c b/src/hotkey.c
index a2c383a..a37e27c 100644
--- a/src/hotkey.c
+++ b/src/hotkey.c
@@ -216,21 +216,22 @@ struct hotkey create_eventkey(CGEventRef event)
return eventkey;
}
-struct systemkey create_systemkey(CGEventRef event)
+bool intercept_systemkey(CGEventRef event, struct hotkey *eventkey)
{
CFDataRef event_data = CGEventCreateData(kCFAllocatorDefault, event);
- const uint8_t *data = CFDataGetBytePtr(event_data);
- uint8_t event_subtype = data[123];
- uint8_t key_code = data[129];
+ const uint8_t *data = CFDataGetBytePtr(event_data);
+ uint8_t key_code = data[129];
uint8_t key_state = data[130];
+ uint8_t key_stype = data[123];
CFRelease(event_data);
- struct systemkey systemkey = {
- .eventkey = {
- .key = key_code,
- .flags = cgevent_flags_to_hotkey_flags(CGEventGetFlags(event)) | Hotkey_Flag_NX
- },
- .intercept = key_state == NX_KEYDOWN && event_subtype == NX_SUBTYPE_AUX_CONTROL_BUTTONS
- };
- return systemkey;
+ bool result = ((key_state == NX_KEYDOWN) &&
+ (key_stype == NX_SUBTYPE_AUX_CONTROL_BUTTONS));
+
+ if (result) {
+ eventkey->key = key_code;
+ eventkey->flags = cgevent_flags_to_hotkey_flags(CGEventGetFlags(event)) | Hotkey_Flag_NX;
+ }
+
+ return result;
}
diff --git a/src/hotkey.h b/src/hotkey.h
index b0ca504..59ee243 100644
--- a/src/hotkey.h
+++ b/src/hotkey.h
@@ -66,12 +66,6 @@ struct hotkey
struct mode **mode_list;
};
-struct systemkey
-{
- struct hotkey eventkey;
- bool intercept;
-};
-
static inline void
add_flags(struct hotkey *hotkey, uint32_t flag)
{
@@ -98,7 +92,7 @@ bool same_hotkey(struct hotkey *a, struct hotkey *b);
unsigned long hash_hotkey(struct hotkey *a);
struct hotkey create_eventkey(CGEventRef event);
-struct systemkey create_systemkey(CGEventRef event);
+bool intercept_systemkey(CGEventRef event, struct hotkey *eventkey);
bool find_and_exec_hotkey(struct hotkey *eventkey, struct table *mode_map, struct mode **current_mode);
void free_mode_map(struct table *mode_map);
diff --git a/src/skhd.c b/src/skhd.c
index fc220fe..4bfae62 100644
--- a/src/skhd.c
+++ b/src/skhd.c
@@ -106,9 +106,9 @@ internal EVENT_TAP_CALLBACK(key_handler)
case NX_SYSDEFINED: {
if (!current_mode) return event;
- struct systemkey systemkey = create_systemkey(event);
- if (systemkey.intercept) {
- bool result = find_and_exec_hotkey(&systemkey.eventkey, &mode_map, &current_mode);
+ struct hotkey eventkey;
+ if (intercept_systemkey(event, &eventkey)) {
+ bool result = find_and_exec_hotkey(&eventkey, &mode_map, &current_mode);
if (result) return NULL;
}
} break;