You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Describe the bug
I am using a programmable keyboard on a Mac. Sometimes when I enter, for example, the "{" character, neovide outputs "8" (Alt-8 is how you enter "{" on a mac). This only seems to occur when I have neovide maximized on my external 4K monitor. It happens at seemingly random times, but often enough to really drive me crazy.
Spoiler: I think I found a fix for the issue and plan to submit a PR.
To Reproduce
Steps to reproduce the behavior:
Setup a programmable keyboard, such that a single key press corresponds to pressing "Alt-8". In almost all apps, pressing this key should produce "{" in any kind of text input control.
Startup neovide and maximize it on a high resolution monitor (it may be possible to achieve the same effect by putting the CPU under load, but I did not test this at all).
Enter Insert Mode and keep hitting your programmed key. Use different time intervals, for example hit the key fast a few times, then wait 2 seconds, continue, wait longer or shorter, continue …
When I follow these steps, I see something like this: 8{{88{{8{{8{{{{8{{{ (in a random order). This is an extreme but real example. Sometimes it just works as expected, especially when I keep hitting the key in short intervals.
Expected behavior
I would expect to see a series of "{" characters without any "8" in-between.
Screenshots
Desktop (please complete the following information):
macOS 12.4
Neovide Version 0.9.0
Neovim Version 0.7.0
Please run neovide --log and paste the contents of the .log file created in the current directory here:
I had to add a few log statements in KeyboardManager::handle_event() in order to see something. This is the condensed result. The first block reflects the "Ok" situation where hitting the key results in "{", while the second block reflects the error. Watch out for the ModifiersChanged event which is processed out-of-order with respect to the queued input events. (The time stamps show how quickly the events follow each other.
I think that the new winit keyboard API merged in #1789, might fix the issue. Could you try again with the latest Neovide master?
@fredizzimo I just compiled and tested the current master. I can confirm that the issue I reported does not exist, any more, while it did exist with the previous commit.
Good job by everyone involved in the fix. Thank you very much. ❤️
Describe the bug
I am using a programmable keyboard on a Mac. Sometimes when I enter, for example, the "{" character, neovide outputs "8" (Alt-8 is how you enter "{" on a mac). This only seems to occur when I have neovide maximized on my external 4K monitor. It happens at seemingly random times, but often enough to really drive me crazy.
Spoiler: I think I found a fix for the issue and plan to submit a PR.
To Reproduce
Steps to reproduce the behavior:
Expected behavior
I would expect to see a series of "{" characters without any "8" in-between.
Screenshots
Desktop (please complete the following information):
Please run
neovide --log
and paste the contents of the.log
file created in the current directory here:I had to add a few log statements in
KeyboardManager::handle_event()
in order to see something. This is the condensed result. The first block reflects the "Ok" situation where hitting the key results in "{", while the second block reflects the error. Watch out for theModifiersChanged
event which is processed out-of-order with respect to the queued input events. (The time stamps show how quickly the events follow each other.Additional context
The text was updated successfully, but these errors were encountered: