diff options
author | Thomas Adam <thomas@xteddy.org> | 2022-07-19 10:01:08 +0100 |
---|---|---|
committer | Thomas Adam <thomas@xteddy.org> | 2022-07-19 10:01:08 +0100 |
commit | ab1d18d00febe161080b8e81331861481110809f (patch) | |
tree | 316b173b58ffa4b0bfc9b95a47e543bbb7df1e1f /tty-keys.c | |
parent | e06c09889c8f56164ddc920d534357357769cf13 (diff) | |
parent | ee431d482a8dac52f4fb16de1038e819a9e42b9a (diff) | |
download | rtmux-ab1d18d00febe161080b8e81331861481110809f.tar.gz rtmux-ab1d18d00febe161080b8e81331861481110809f.tar.bz2 rtmux-ab1d18d00febe161080b8e81331861481110809f.zip |
Merge branch 'obsd-master'
Diffstat (limited to 'tty-keys.c')
-rw-r--r-- | tty-keys.c | 38 |
1 files changed, 10 insertions, 28 deletions
@@ -934,34 +934,16 @@ tty_keys_extended_key(struct tty *tty, const char *buf, size_t len, nkey = number; /* Update the modifiers. */ - switch (modifiers) { - case 2: - nkey |= KEYC_SHIFT; - break; - case 3: - nkey |= (KEYC_META|KEYC_IMPLIED_META); - break; - case 4: - nkey |= (KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META); - break; - case 5: - nkey |= KEYC_CTRL; - break; - case 6: - nkey |= (KEYC_SHIFT|KEYC_CTRL); - break; - case 7: - nkey |= (KEYC_META|KEYC_CTRL); - break; - case 8: - nkey |= (KEYC_SHIFT|KEYC_META|KEYC_IMPLIED_META|KEYC_CTRL); - break; - case 9: - nkey |= (KEYC_META|KEYC_IMPLIED_META); - break; - default: - *key = KEYC_NONE; - break; + if (modifiers > 0) { + modifiers--; + if (modifiers & 1) + nkey |= KEYC_SHIFT; + if (modifiers & 2) + nkey |= (KEYC_META|KEYC_IMPLIED_META); /* Alt */ + if (modifiers & 4) + nkey |= KEYC_CTRL; + if (modifiers & 8) + nkey |= (KEYC_META|KEYC_IMPLIED_META); /* Meta */ } /* |