Menu language mix and lack of "accelerator key" in menu

Found a bug in "Everything"? report it here
Post Reply
TvE
Posts: 5
Joined: Wed Sep 25, 2024 6:02 pm

Menu language mix and lack of "accelerator key" in menu

Post by TvE »

Finally a great tool - newbie here, so still learning all the great features of `Everything´.

I have observed a few weird things that I must share:

Accelerator keys
Everything has a great implementation for keyboard shortcuts, thus I am surprised that the indication ("Accelerator keys"?) are missing from the menu.
As can be seen via "Total Commander" I have enabled showing these at OS level.

Languague confusion
Being danish I have set the OS (Win 10) to use a danish keyboard layout as well as for the date/time/number/currency -format; everything else is in english(!)
So it seems that the modfier key names (SKIFT = SHIFT) is picked up from these settings.
Again using Total Commander as a reference you can see that it's picking up the correct (english) variant of the modifier key.


Minor cosmetic thing but worth fixing.

2024-09-28 134509-xyz - Everything (1.5a) 1.5.0.1383a (x64).png
2024-09-28 134509-xyz - Everything (1.5a) 1.5.0.1383a (x64).png (47.03 KiB) Viewed 1475 times
2024-09-28 135315-Total Commander (x64) 11.03.png
2024-09-28 135315-Total Commander (x64) 11.03.png (31.58 KiB) Viewed 1475 times
void
Developer
Posts: 16680
Joined: Fri Oct 16, 2009 11:31 pm

Re: Menu language mix and lack of "accelerator key" in menu

Post by void »

Thank you for your feedback TvE,


Accelerator keys
Everything uses the stock windows menu control in light mode.
Are the accelerator keys shown in Notepad?
Does the appearance and behavior match Notepad?

Are the accelerator keys shown when you hold down ALT in Everything?



The dark mode menu uses the built-in Everything menu.
Everything will also use its built-in menu when you customize the menu color or font.

The built-in menu has a setting to override keyboard cues.

To set the keyboard cues behavior:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    menu
  • Select: menu_keyboard_cues
  • Set the value to: Always show
  • Click OK.
Set the menu color to force Everything to use the builtin menu:
Tools -> Options -> Fonts and colors -> Item=Menu -> Set the Background color


Languague confusion
Everything uses the keyboard driver to get key names.
What is shown for the SHIFT key name with the on-screen keyboard ( Start -> Run -> osk )
Everything uses the same key names as the on-screen keyboard.

To disable keyboard driver key names:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    key
  • Select: get_key_name_text
  • Set the value to: false
  • Click OK.
TvE
Posts: 5
Joined: Wed Sep 25, 2024 6:02 pm

Re: Menu language mix and lack of "accelerator key" in menu

Post by TvE »

void wrote: Sun Sep 29, 2024 12:57 am Thank you for your feedback TvE,
Accelerator keys
Everything uses the stock windows menu control in light mode.
Are the accelerator keys shown in Notepad?
No
Does the appearance and behavior match Notepad?
Yes

Are the accelerator keys shown when you hold down ALT in Everything?
No

FYI I have validated that the "Settings -> Keyboard -> Change how keyboard shortcuts work -> Underline access keys when available" is indeed set to ON
NB.: Originally I have enabled it via the registry:

Code: Select all

[HKEY_CURRENT_USER\Control Panel\Accessibility\Keyboard Preference]
"On"="1"

The dark mode menu uses the built-in Everything menu.
Enabling Dark Mode reveals the accelerator keys :-)

Everything will also use its built-in menu when you customize the menu color or font.
Not for me
Tried
- Changing the foreground color
- Change font to JetBrains Mono NL
Neither revealed the accelerator keys :/
The built-in menu has a setting to override keyboard cues.

To set the keyboard cues behavior:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    menu
  • Select: menu_keyboard_cues
  • Set the value to: Always show
  • Click OK.
Set the menu color to force Everything to use the builtin menu:
Tools -> Options -> Fonts and colors -> Item=Menu -> Set the Background color
Not for me
Tried
- menu_keyboard_cues = Always show
and
- Changing the background color (to 254, 254, 254)
Neither revealed the accelerator keys :/

Languague confusion
Everything uses the keyboard driver to get key names.
What is shown for the SHIFT key name with the on-screen keyboard ( Start -> Run -> osk )
Everything uses the same key names as the on-screen keyboard.

To disable keyboard driver key names:
  • In Everything 1.5, from the Tools menu, click Options.
  • Click the Advanced tab on the left.
  • To the right of Show settings containing, search for:
    key
  • Select: get_key_name_text
  • Set the value to: false
  • Click OK.

The On Screen Keyboard shows the correct name "Shift" (not the "SKIFT" as displayed by Everything)

get_key_name_text = False => "SKIFT" changes to "Shift" (thus works as intended :-))
tuska
Posts: 1052
Joined: Thu Jul 13, 2017 9:14 am

Re: Menu language mix and lack of "accelerator key" in menu

Post by tuska »

Accelerator keys
This is how it looks for me in Windows 11 Pro (x64) in normal mode.
 
2024-09-30_Keyboard shortcuts underline_underscore.png
2024-09-30_Keyboard shortcuts underline_underscore.png (143.09 KiB) Viewed 1374 times
 
Please read:
Windows logo key + i > Accessibility > Keyboard (= Tastatur) > Underline keyboard shortcuts ...

Windows 11 Pro (x64) Version 23H2 (OS Build 22631.4249)
Total Commander 11.03 x64/x86 | 'Everything' 1.5.0.1383a (x64)
TvE
Posts: 5
Joined: Wed Sep 25, 2024 6:02 pm

Re: Menu language mix and lack of "accelerator key" in menu

Post by TvE »

Yep - this matches my setting (as mentioned before)
2024-09-30 190252-Settings.png
2024-09-30 190252-Settings.png (6.24 KiB) Viewed 1349 times
BUT after turning the setting OFF in the Win10 GUI the accelerator keys got visible - and after turning it back ON again they stayed visible.
AND they now are also present in Notepad (and more importantly also in NP++ ;-)
(The following OFF made them go away, so NOW it's working as expected...)

The same behavior ^ was also reproduced on my Win 11 PC.

Both PC have been rebooted many times since adding this value via my registry script (source of info = https://www.tenforums.com/tutorials/974 ... -10-a.html
)

So my conclusion is that this indeed was (well IS) a Windows OS issue (not an Everything issue) and apparently something else must be done than just add the setting in the registry
void
Developer
Posts: 16680
Joined: Fri Oct 16, 2009 11:31 pm

Re: Menu language mix and lack of "accelerator key" in menu

Post by void »

Everything uses SystemParametersInfo with SPI_GETKEYBOARDCUES to get the keyboard cue setting.
Each window has its own keyboard cue state which can be set with WM_CHANGEUISTATE
If you change the registry setting manually you will need to restart or post these changes to each window.


The On Screen Keyboard shows the correct name "Shift" (not the "SKIFT" as displayed by Everything)
This is most likely an issue with the Windows GetKeyNameText API.
Please try the following:
Right click a shortcut to a program on the Desktop. (edit: click properties)
To the right of Shortcut key, press Ctrl + Shift
What is shown in the shortcut key?
Click Cancel.
TvE
Posts: 5
Joined: Wed Sep 25, 2024 6:02 pm

Re: Menu language mix and lack of "accelerator key" in menu

Post by TvE »

void wrote: Tue Oct 01, 2024 4:10 am Each window has its own keyboard cue state which can be set with WM_CHANGEUISTATE
If you change the registry setting manually you will need to restart or post these changes to each window.
I did inded reboot many times but it had no effect
The On Screen Keyboard shows the correct name "Shift" (not the "SKIFT" as displayed by Everything)
This is most likely an issue with the Windows GetKeyNameText API.
Please try the following:
Right click a shortcut to a program on the Desktop.
To the right of Shortcut key, press Ctrl + Shift
What is shown in the shortcut key?
Click Cancel.
Sorry - I'm not sure exactly what you mean
Which shortcut?
Presumably "A shortcut placed on the desktop, the shortcut pointing to a *.exe ?" EG right click on this file? c:\Users\TvE\Desktop\Google Chrome.lnk

To the right of shortcut key???
void
Developer
Posts: 16680
Joined: Fri Oct 16, 2009 11:31 pm

Re: Menu language mix and lack of "accelerator key" in menu

Post by void »

The Google Chrome shortcut should work.

Right click the Google Chrome shortcut on the Desktop and click Properties.
Click the Shortcut tab.
To the right of shortcut key, press: Ctrl + Shift
What key name is shown?
image.png
image.png (26.95 KiB) Viewed 1327 times
TvE
Posts: 5
Joined: Wed Sep 25, 2024 6:02 pm

Re: Menu language mix and lack of "accelerator key" in menu

Post by TvE »

Ah - a "go to Properties" step was missing, now it makes a lot more sense!
Here it shows the pesky SKIFT as well.

When changing the Languague Preference to English "SKIFT" changes to the usefull "Shift"

So clearly a case of GIGO (Garbage In Garbage Out) - and again - in the Windows OS domain NOT in the Everything domain
image.png
image.png (33.17 KiB) Viewed 1307 times
Thank you for your excellent support!
Post Reply