On macOS, Qt uses the
Qt::ControlModifier for the
⌘ Command keys and the
Qt::MetaModifier for the
⌃ Control keys, so these need to be swapped to make them work. In addition to that, the arrow keys have the
Qt::KeypadModifier set. This behaviour is documented in the
This is one issue on macOS builds that was annoying me enough to look a bit deeper into it :-) I hope the fix is good enough, I'm not sure where to nicely place the
#ifdefs though (some commonly used header file would be nice, maybe
src/vimode/definitions.h? Please let me know what you think).
I ran the
vimode_* unit tests on both my MacBook and some Linux machine, they currently fail because of some assertion introduced with another recent change of the status bar handling. Commenting out that assertion lets the unit tests run through with the same failures on both machines (except for the
vimode_completion one, there I get
2 passed, 379 failed, 0 skipped, 0 blacklisted, 463ms. I guess this needs some more work in general to work nicely on macOS).