Fix for not providing the correct information on Ctrl-[ and CTRL-] in Windows#3696
Fix for not providing the correct information on Ctrl-[ and CTRL-] in Windows#3696zbyna wants to merge 1 commit intorust-windowing:v0.29.xfrom
Conversation
|
I have a feeling it is needed to describe better (possibly 🙂 ) what I try to achieve in this PR. The goal is to force two keys with scan codes
Now I will dive in to how windows handle keys when pressed with
Not regarding this PR and only in my humble opinion, control codes should be treated in WM_CHAR message using caret notation this way:
|
Fix for rust-windowing#3621 part 2 Discard part 1 and part 2 Fix for rust-windowing#3621 adjusted
kchibisov
left a comment
There was a problem hiding this comment.
Could you show me what KeyboardInput events are now compared to before when you press [, Shift+[, Ctrl+[, Shift+Ctrl+[. For regular keys, like A and Shift+A logical key should change as well.
In general, the only value that should change from ctrl is the text_with_all_modifiers IIRC.
If that's all good, it should be fine after you fix the CI issue.
|
@kchibisov, I don't know if this fix is correct or not, but the Windows keyboard layouts do in fact allow mapping of ctrl+key to something. Check BTW, if you can ignore my analysis in the original Neovide report, since I don't think it's correct. I'm not sure what's the best way to fix this is, without further studing, but my first impression is that if the layout maps ctrl, then that should be respected and the winit handling of ctrl disabled for that key. If @zbyna doesn't want to continue (see neovide/neovide#2459 (comment)) looking at this and at least provide the logs that were requested, I make take a stab at some point. But it will take at least one month before doing that, or even have a windows machine available. I think we have a few other keyboard bugs on Windows as well that could be looked at at the same time. For example this #3012, which might very well be closely related. |
|
EDIT: added table from log @fredizzimo
Log: Click to here.Table: |






This fixes #3621 .
I tested it in neovide
OS: Windows 10 Pro 22H2, Neovide Version 0.12.2with
Czech, German and Englishlayout:I am new in Rust, so please be patient 🙂 Thank you for possible merge.