Skip to content

Spellcasting UI: Don't assign hotkeys that are menu navigation keys#86288

Open
evilbananas wants to merge 4 commits intoCleverRaven:masterfrom
evilbananas:spellcasting-ui-update
Open

Spellcasting UI: Don't assign hotkeys that are menu navigation keys#86288
evilbananas wants to merge 4 commits intoCleverRaven:masterfrom
evilbananas:spellcasting-ui-update

Conversation

@evilbananas
Copy link
Copy Markdown
Contributor

Summary

Interface "Don't assign hotkey letters that are already bound to menu navigation in the Spellcasting UI"

Purpose of change

This PR is the start of trying to address an inconsistent menu experience for VI key users. This PR starts wit the Spellcasting UI.

A common issue for VI key users is a inconsistent experience across different menus. You are moving in the world, navigating inventory screens with the common 'hjkl' keys, but then when you go to cast a spell or toggle a CBM, disaster strikes! You are all of a sudden expected to use the numpad and directional keys instead of your superior VI keys binds. You then change the keybinds in these menus for a consistent experience, only to find the game is now trying to assign hotkey letters to your navigation keys. Let's fix that.

Describe the solution

Provide a consistent menu navigation experience across all menus for VI key users.

Check if the hotkey being assigned has already been mapped for UI navigation and if it has, skip it for the next available letter. Changes the behavior to the same as the inventory.

Describe alternatives you've considered

Hardcode to not accept the standard VI keys 'hjkl' as hotkeys. My implementation is a more elegant solution though as users who are not using VI keys will not notice any changes.

Testing

Assigned VI key navigation to the spellcasting menu. Created a new character with multiple spells, checked that the assigned hotkeys where not part of the navigation keys that were mapped.

Additional context

@github-actions github-actions bot requested a review from KorGgenT April 6, 2026 08:56
@github-actions github-actions bot added [C++] Changes (can be) made in C++. Previously named `Code` Info / User Interface Game - player communication, menus, etc. astyled astyled PR, label is assigned by github actions json-styled JSON lint passed, label assigned by github actions labels Apr 6, 2026
@thaelina
Copy link
Copy Markdown
Contributor

thaelina commented Apr 7, 2026

/retry

@github-actions
Copy link
Copy Markdown
Contributor

github-actions bot commented Apr 7, 2026

@github-actions github-actions bot added the BasicBuildPassed This PR builds correctly, label assigned by github actions label Apr 7, 2026
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

astyled astyled PR, label is assigned by github actions BasicBuildPassed This PR builds correctly, label assigned by github actions [C++] Changes (can be) made in C++. Previously named `Code` Info / User Interface Game - player communication, menus, etc. json-styled JSON lint passed, label assigned by github actions

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants