Skip to content
  • LRN's avatar
    GDK W32: Handle CapsLock as part of the key shift level · ca792960
    LRN authored
    Instead of using some kind of flawed logic about modifying a keypress result
    when CapsLock is toggled, just add a CapsLock shift level (and all derived
    shift levels, i.e. Shift+CapsLock and CapsLock+AltGr and Shift+CapsLock+AltGr)
    and query Windows keyboard layout API about the result of keypresses involving
    CapsLock.
    
    Keysym table is going to be (roughly) twice as large now, but CapsLock'ed
    keypresses will give correct results for some keyboard layouts (such as
    Czech keyboard layout, which without this change produces lowercase letters
    for CapsLock->[0,2,3,4...] instead of uppercase ones).
    
    Keymap update time also increases accordingly.
    
    https://bugzilla.gnome.org/show_bug.cgi?id=165385
    ca792960