diff options
| author | Furkan Sahin <furkansahin824@proton.me> | 2024-09-14 21:22:21 -0500 |
|---|---|---|
| committer | Furkan Sahin <furkan-dev@proton.me> | 2025-05-08 14:10:14 -0400 |
| commit | 291817c3f59c90378d5a9e01380d4117e1c7921e (patch) | |
| tree | 766d9edd690e01ce1e50261b491c0f27d0779c2c /include/config.h | |
| parent | 8d3a52aa3076a34b008aed8ba142c955329a8874 (diff) | |
config/bindings: Extend bindsym --to-code to additionally
handle the case in which a given keysym maps to more than
one keycode.
Sometimes, a keysym can map to duplicate keycodes and `libxkbcommon`
does not prohibit this. In that case, it makes sense to
find all the keycodes that map to the keysym.
- Merges translate_binding into translate_keysyms, simplify logic
- Changes add_matching_keycodes to find ALL keycodes, not just last
- Removes unncessary list_t* syms. It's only used to alias keys as
"syms". No other purpose.
This commit also introduces a recursive cartesian product
calculator in order to handle any cases.
`bindsym --to-code (M + .. + N)` s.t.
Keysym M maps to keycodes { M_0 .. M_m }
...
Keysym N maps to keycodes { N_0 .. N_n }
results in || M x .. x N || bindings (cartesian product)
Diffstat (limited to 'include/config.h')
0 files changed, 0 insertions, 0 deletions
