Skip to content

Commit

Permalink
adds support for fn as a modifier key (#169)
Browse files Browse the repository at this point in the history
  • Loading branch information
smithkyle authored Jan 29, 2024
1 parent ebf8343 commit 61e748d
Show file tree
Hide file tree
Showing 3 changed files with 11 additions and 3 deletions.
9 changes: 6 additions & 3 deletions src/keypress.h
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,8 @@ extern "C"
MOD_META = kCGEventFlagMaskCommand,
MOD_ALT = kCGEventFlagMaskAlternate,
MOD_CONTROL = kCGEventFlagMaskControl,
MOD_SHIFT = kCGEventFlagMaskShift
MOD_SHIFT = kCGEventFlagMaskShift,
MOD_FUNCTION = kCGEventFlagMaskSecondaryFn
} MMKeyFlags;

extern MMKeyFlags flagBuffer;
Expand All @@ -32,7 +33,8 @@ extern "C"
MOD_META = Mod4Mask,
MOD_ALT = Mod1Mask,
MOD_CONTROL = ControlMask,
MOD_SHIFT = ShiftMask
MOD_SHIFT = ShiftMask,
MOD_FUNCTION = 0
};

typedef unsigned int MMKeyFlags;
Expand All @@ -45,7 +47,8 @@ extern "C"
/* MOD_ALT = 0,
MOD_CONTROL = 0,
MOD_SHIFT = 0, */
MOD_META = MOD_WIN
MOD_META = MOD_WIN,
MOD_FUNCTION = 0
};

typedef unsigned int MMKeyFlags;
Expand Down
3 changes: 3 additions & 0 deletions src/macos/keypress.c
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,9 @@ void toggleKeyCode(MMKeyCode code, const bool down, MMKeyFlags flags) {
if (code == K_SHIFT || code == K_RIGHTSHIFT) {
flags |= MOD_SHIFT;
}
if (code == K_FUNCTION) {
flags |= MOD_FUNCTION;
}

MMKeyFlags activeKeyFlags;
if (down) {
Expand Down
2 changes: 2 additions & 0 deletions src/main.cc
Original file line number Diff line number Diff line change
Expand Up @@ -361,6 +361,8 @@ int CheckKeyFlags(std::string &flagString, MMKeyFlags *flags) {
*flags = MOD_CONTROL;
} else if (flagString == "shift" || flagString == "right_shift") {
*flags = MOD_SHIFT;
} else if (flagString == "fn") {
*flags = MOD_FUNCTION;
} else if (flagString == "none") {
*flags = MOD_NONE;
} else {
Expand Down

0 comments on commit 61e748d

Please sign in to comment.