kruizer23 / hotframefx

HotFrameFx is a system tray utility for configuring hot corner and edge actions.
https://kruizer23.github.io/hotframefx/
GNU General Public License v3.0
17 stars 1 forks source link

Spacebar Missing as a Hotkey Option (and is not Grabbable) #19

Open EnigmaSolved opened 4 months ago

EnigmaSolved commented 4 months ago

I'm loving your software -- it is the only one I have found that offers Edge options!

I am trying to add the hotkey combo Alt+Space (ie, Alt & Space held simultaneously), but I do not see Spacebar in the list of keys, and when I try to "grab" the Alt+Space combo it does not pick it up at all.

I also tried manually editing the .cfg file with the following experiments: ActionLeft="Alt+Spacebar" ActionLeft="Alt+Space" But all that either achieved is the pressing of the Alt key -- I could not get the combo of Alt+Space to fire.

So currently there's no way to add this combo (or any combo involving the spacebar), as far as I can tell.

Any guidance would be most appreciated! :)

EnigmaSolved commented 4 months ago

As a workaround I have made a very simple AutoIt script which initiates the Alt+Space hotkey combo, and then set the appropriate HotFrameFx region to launch this script. :)

#cs ----------------------------------------------------------------------------

 AutoIt Version: 3.3.6.1
 Author:         Sean Slevin
 https://github.com/EnigmaSolved
 https://transitionsmft.org/

 Script Function: Sends Alt+Space Hotkey Combo

#ce ----------------------------------------------------------------------------

; Allow only one instance of this script.  Note, that if you are editing the script and the file name is the same as the script name then the script will not run because the following code will tell it that it is already running.
$script_ID = "Alt_Space"
If WinExists($script_ID) Then Exit  ; Exit because it's already running
AutoItWinSetTitle($script_ID)

Send("!{SPACE}") ; Alt+Space
kruizer23 commented 4 months ago

Good point. Space is currently not in the dropdown list of keys to select. I must have either missed that one or there might have been a reason why I skipped it. I'll try adding it in the future.

EnigmaSolved commented 4 months ago

Wonderful, thank you! In the near-term, if you know (or can find out without too much time/energy) what term or key-code to use for "space" I can manually add it to my config, a la ActionLeft="Alt+Space". :) I just don't know where to even look to get clarity on what terms might be accepted in Pascal and/or what format your code requires.

kruizer23 commented 4 months ago

I think I just need to add a line like this (KeyStr: 'Space'; KeyCode: VK_SPACE), to the KeyMap[] in sources/keybinding.pas.

EnigmaSolved commented 4 months ago

Awesome -- that sounds relatively straightforward! Though if there was some reason for omitting Space I suppose we'll find out soon, LOL. 😂

I am very much in the midst of still trying out and experimenting with HotFrameFx, seeing what functions, etc might be most useful to me for which regions (as a side note, I would welcome a list of examples of hotkeys, software, etc you have found useful for various regions!). So I just started trying to add the Windows Peek hotkey Win+, (ie, Windows key combined with a comma) and discovered there's not any punctuation to speak of in the key list, and that actually there are a fair amount of keys missing. Given that personally I am still figuring out how I want to use the software I am reticent to keep pinging with you this or that missing keycode. Would it be easier for you to add a method (even if just via cfg file editing) for users like me to add the raw keycode (eg, VKSPACE) for any that are not built in (and also point me to a list of VK codes to pick from)?

EnigmaSolved commented 4 months ago

At the moment (as I am maybe settling into how I'll be using HotFrameFx going forward) it is looking like only the Space key is needed for me currently. However, if you can point me to a reference resource I would be happy to go through and try to add some of the other missing keys (in the format of (KeyStr: 'Space'; KeyCode: VK_SPACE),) to a post here so that you could just copy/paste a batch (and hopefully preclude any future requests from me or others for additional keys). I don't have a test environment setup to be able to build and test any code changes, but I am happy to minimize the work required for you as much as I can (as I can appreciate that this is not a project you can give much time to currently). :)