keyboardio / Chrysalis

Graphical configurator for Kaleidoscope-powered keyboards
https://github.com/keyboardio/Chrysalis#chrysalis
GNU General Public License v3.0
497 stars 65 forks source link

Keyboard layout displays incorrectly after prefs->UI->keyboard layout is changed #1250

Open tremby opened 1 year ago

tremby commented 1 year ago

Describe the bug Each key's display on the layout editor does not update if the preferences -> user interface -> keyboard layout is changed, until disconnecting and reconnecting the keyboard.

To Reproduce Steps to reproduce the behavior:

  1. Look at your keyboard layout in the layout editor
  2. Go to preferences and change the layout, such as to Dvorak
  3. Go back to the layout editor, see exactly the same layout pictured as before (though the floating keyboard has changed)
  4. Go to "select another keyboard", disconnect and reconnect
  5. Go back to layout editor and see the layout has changed to reflect how the system will now recognize each keypress, assuming system layout has been set the same way as the preference was in step 2

Expected behavior UI happens immediately without needing to disconnect/reconnect the keyboard.

Desktop (please complete the following information):

Additional context I originally did not understand the purpose of the option I'm referencing. I like to have my system set to US Qwerty, and for my keyboard to pretend to be a Qwerty keyboard but really send h instead of j, etc. Not understanding the option, I set it to Dvorak before setting up my keymap. I saved and found that I was still sending qwerty keycodes. I then realized why, changed the option, went straight back to the layout editor and still saw an unchanged layout, whereas I expected it to have shuffled the keys back to their qwerty positions. I suspected a bug, and did the reconnect cycle in the "select another keyboard" pane and sure enough I now saw the keys changed, and of course then I had to set them up one at a time again.

I wonder if I had reconnected the keyboard after setting the option to Dvorak but before changing any keys, if I would have seen the keys in Dvorak positions...