diff options
| author | katalx | 2026-01-29 03:27:59 -0500 |
|---|---|---|
| committer | katalx | 2026-01-29 03:27:59 -0500 |
| commit | e55b4d12bb3380e4ba381f364dc06c06fb8fab60 (patch) | |
| tree | 77be55f3801a320ecef1a0b1db1a1b2012656d52 /ui.c | |
| parent | c49f2f94c2303091e736f6f5ddec7631f9151af4 (diff) | |
UiModMask
Diffstat (limited to 'ui.c')
| -rw-r--r-- | ui.c | 11 |
1 files changed, 11 insertions, 0 deletions
@@ -132,6 +132,16 @@ xksym_to_uik(KeySym sym) } } +UiModMask +xkstate_to_uim(unsigned state) +{ + UiModMask m = 0; + if (state & Mod1Mask) m |= UIM_ALT; + if (state & ShiftMask) m |= UIM_SHIFT; + if (state & ControlMask) m |= UIM_CTRL; + return m; +} + /* TODO: allow selecting options with mouse */ int @@ -146,6 +156,7 @@ loop: e->type = UI_KEY_DOWN; e->key.strn = XLookupString(&ev.xkey, e->key.str, 10, &sym, 0); e->key.key = xksym_to_uik(sym); + e->key.mod = xkstate_to_uim(ev.xkey.state); return 1; case KeyRelease: e->type = UI_KEY_UP; |
