Let's talk about customizable keyboard shortcuts

Features wanted...
admin
Site Admin
Posts: 64825
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Post by admin »

cajhin wrote:A custom ini might look like
[key]=[id] [label] ( [explanation] )

F5=86 Refresh Tree (updates the content blah)
Ctrl+R=86 Refresh Tree (second shortcut for f86)
=87 Refresh File List (blah blah)
=88 Reload key map (bb)
Correct, you reversed the mapping from function=key to key=function. I already wanted to mention that in my previous post. It might be counter-intuitive at first to assign a function to a key instead of a key to a function, but that's the way I will go also in the GUI: first select the key, then choose the function.

About performance: yes, you are probably right. But I have an irrational fixation on speed, so I'll go the fastest way even if nobody notes it. :)
cajhin wrote:For the function identifier, I would only use a label (like 'refresh_tree'), not the full path from the GUI. Why? Sometimes you have to rearrange a menu, that's common; but it is generally a bad idea to rename items, so the item names / labels are usually much more stable.

An option: use the number IDs in the ini, too. Provide the item name / GUI label only as a hint for the user. Now you can rename functions without breaking the key mapping.
1: Yep, that's what I wanted to say.
2: Yep again.

Creat
Posts: 234
Joined: 22 Sep 2005 18:27

Post by Creat »

To be honest I wouldn't bother with an ini and a dat file, just keep it simple (less possibilities for bugs or whatever). Once again I propose the XML file, first of all it's not 'flat' but can have levels (either just for convenience or to convey meaning). Also access is quite fast and it's easily human readeable.
Please don't use ini's, there's a reason they're bare used anymore. It would just be horribly irritating to edit things there if we for some reason want to (which apparently seems to be the point of having 2 shortcut databases in the firstplace where one is human readeable).

For the naming problem, really check out Opera (if you won't install it just to check out the shortcut implementation, I can provide you with screenshots illustrating the whole thing). With the autocompletion-naming-search-thingy it's no problem to find the function you're looking for and assign it.
As an alternative (or in addition), I would also recommend to not organize them flat (i.e. just by name) but in categories (for example named after the main menu the item is generally found under or it's general context like "edit", "context menu", ...). At least it would help if they weren't all diplayed in one long list if they're really going to be hundreds, or it will be very hard to locate what you're looking for.

looking forward to the whole thing,
Creat

admin
Site Admin
Posts: 64825
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

The keys

Post by admin »

I've been looking for all keys that are suitable for CKS (reliably present on each keyboard, independent of locale). I did not find any list in the net so I compiled my own. These are the 58 keys that I think will work:

A-Z (26)
0-9 (10)
F1-F12 (12)
BACKSPACE (1)
INS, DEL, HOME, END (4)
NUMPAD / * - + , (5)

These can be freely combined with any combination of Ctrl/Shift/Alt (including none), means we'll have 58 * 8 = 464 key combos available. Probably more than you can remember, so that should be enough for a start! :)

Did I miss anything?

(I deliberately did not include the 4 arrow keys, pageup/down, space, enter, Windows, tab, esc, and some others).

admin
Site Admin
Posts: 64825
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

CKS GUI

Post by admin »

Did some research: Although functions should be assigned to keys because of the key-function mapping logic, all the world does it the other way round and lets users assign keys to functions. Which naturally leads to assignments conflicts that have to be handled. Hm. Follow the bad standard or go for an isolated beter solution?

Also there seems to be a (almost obligatory) standard GUI for this that is used by a majority of apps. It always looks like this:

Image

Follow the mainstream??? I'm always for intuitive design and intuition is based on experience, and experience is for the majority, well, the mainstream. Tautologic. I'm inclined to do it. What do you think? (Opera-Creat does not need to reply :wink: )

BTW: what is "Set Accelerator for" ???

j_c_hallgren
XY Blog Master
Posts: 5826
Joined: 02 Jan 2006 19:34
Location: So. Chatham MA/Clearwater FL
Contact:

Re: The keys

Post by j_c_hallgren »

admin wrote:I've been looking for all keys that are suitable for CKS (reliably present on each keyboard, independent of locale).
Did I miss anything?
(I deliberately did not include the 4 arrow keys, pageup/down, space, enter, Windows, tab, esc, and some others).
I wondering about the "some others"...could you be a bit more descriptive? And, as I'd prefer not to be restricted by what may be or not be on a non-US keyboard, I'm hoping that some other common keys would be usable, such as the back-quote, tilde, vertical bar, brackets, etc. and realizing that some would require a combo to not interfere with normal use.

The big advantage to following what may be not the greatest 'standard' is that new users would find it usable more quickly and easily, which could help sell the product...as having to adapt to a custom (but maybe better) design increases the learning curve, so since CKS is designed as a productivity aid, making it as simple to use helps that, IMHO.

Now you could make some minor tweaks to standard to improve it but I'd retain the basic concepts and layout.

Addendum: The only problem with relating CKS layouts to true menus is that should an entry move from one menu to another thus affects CKS also...that's the issue I've got trying to keep my wiki KS lists current, and they are thus a bit dated now, I think.
Still spending WAY TOO much time here! But it's such a pleasure helping XY be a treasure!
(XP on laptop with touchpad and thus NO mouse!) Using latest beta vers when possible.

admin
Site Admin
Posts: 64825
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: The keys

Post by admin »

j_c_hallgren wrote:
admin wrote:I've been looking for all keys that are suitable for CKS (reliably present on each keyboard, independent of locale).
Did I miss anything?
(I deliberately did not include the 4 arrow keys, pageup/down, space, enter, Windows, tab, esc, and some others).
I wondering about the "some others"...could you be a bit more descriptive? And, as I'd prefer not to be restricted by what may be or not be on a non-US keyboard, I'm hoping that some other common keys would be usable, such as the back-quote, tilde, vertical bar, brackets, etc.
For all I know the keycodes for these keys differ from country to country, also wether they are shifted or not. For example, Adobe Illustrator uses key combos like Ctrl+[ or Shift+;. Result: I cannot use them because my German keyboard works different from Adobe's expectations. I don't want this kind of mess here.

By "some others" I meant those atavistic keys above the INS block like PRINT, SCROLL, BREAK; then the NUMPADLOCK and the ContextMenu key.

j_c_hallgren
XY Blog Master
Posts: 5826
Joined: 02 Jan 2006 19:34
Location: So. Chatham MA/Clearwater FL
Contact:

Re: The keys

Post by j_c_hallgren »

admin wrote:For example, Adobe Illustrator uses key combos like Ctrl+[ or Shift+;. Result: I cannot use them because my German keyboard works different from Adobe's expectations. I don't want this kind of mess here.
I understand that using those type as default or standard can be a problem...but not allowing me to convert one of those to use a key that is easily accessable (and thus more usable) on MY keyboard, such as the back-quote IS a potential problem, ok? In other words, the replacement values should be basically whatever one can key in, but as limited by some obvious "system" restrictions, such as the Windows key, etc.
Still spending WAY TOO much time here! But it's such a pleasure helping XY be a treasure!
(XP on laptop with touchpad and thus NO mouse!) Using latest beta vers when possible.

admin
Site Admin
Posts: 64825
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: The keys

Post by admin »

j_c_hallgren wrote:
admin wrote:For example, Adobe Illustrator uses key combos like Ctrl+[ or Shift+;. Result: I cannot use them because my German keyboard works different from Adobe's expectations. I don't want this kind of mess here.
I understand that using those type as default or standard can be a problem...but not allowing me to convert one of those to use a key that is easily accessable (and thus more usable) on MY keyboard, such as the back-quote IS a potential problem, ok? In other words, the replacement values should be basically whatever one can key in, but as limited by some obvious "system" restrictions, such as the Windows key, etc.
You will be delighted to hear that I opted for a non-restricted approach to CKS, last not least because it is most elegant to program. That means you will have near to 800 key combos available! :) A good time to start brain gym is now! :lol:

The theoretical questions are all solved, and I can report from the frontline of development: the first customized keyboard shortcuts are already working!
What's left to do is a LOT of finger work, because I have to hack in all keyboardable functions including captions and short descriptions (both user-translatable into your favorite language!), default KS, function category, interface location... uuaahhhhh. Then the CKS GUI. And other stuff. Will take a couple of days.... then upload. And then all the bugs... :lol:

Creat
Posts: 234
Joined: 22 Sep 2005 18:27

Re: CKS GUI

Post by Creat »

admin wrote:Follow the mainstream??? [...] What do you think?
Well I kinda realize that the Opera-Approach isn't going to happen, even thogh I really gave it my best shot :)
I would opt for the 'general consensus' in assigning shortcuts to functions. Not only because everyone does it this way but because it makes sense and follows the thinking behind assigning shortcuts (and checking if a shortcut is already assigned really isn't that much of a problem :wink: ).
You generally think like "hey, I often use [some_function], might be good to assign a shortcut to it" and never "oh Ctrl-F7 doesn't do anything, lets look around and see what we can do with it..."
admin wrote:BTW: what is "Set Accelerator for" ???
Might be some kind of "domain". Like a window (or Control) in which this shortcut should work. Would be a nice feature to be able to have a shortcut do different things in the tree and the list (for example). Or even have local shortcuts override globals, so that a shortcut does a certain thing everywhere except in the list, where it's set to do something different. But I think I mentioned something like this before, so I better shut up now before we repeat the Opera-incident and my posts get ignored alltogether :wink:
admin wrote:Opera-Creat does not need to reply :wink:
Awww, now I feel sooo excluded :roll:

bye
Creat

admin
Site Admin
Posts: 64825
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Re: CKS GUI

Post by admin »

Creat wrote:
admin wrote:Follow the mainstream??? [...] What do you think?
Well I kinda realize that the Opera-Approach isn't going to happen, even thogh I really gave it my best shot :)
I would opt for the 'general consensus' in assigning shortcuts to functions. Not only because everyone does it this way but because it makes sense and follows the thinking behind assigning shortcuts (and checking if a shortcut is already assigned really isn't that much of a problem :wink: ).
You generally think like "hey, I often use [some_function], might be good to assign a shortcut to it" and never "oh Ctrl-F7 doesn't do anything, lets look around and see what we can do with it..."
Yep, I think the same.

I will do a perfectly traditional standard mainstream middle-of-the-road vanilla magherita all-natural GUI -- with one exception: you'll get freely programmable keyboard shortcuts (working title "freestyle shortcuts")!!! With them you can very easily key-trigger any stuff that has no own UI command in XYplorer, e.g. "goto C:\Windows", "open [path to some app]", "run [some shell command]", "tell me [the time; my name; my birthday]" ( :wink: ) etc. ... :D

admin
Site Admin
Posts: 64825
Joined: 22 May 2004 16:48
Location: Win8.1, Win10, Win11, all @100%
Contact:

Hotkeys for opening submenus?

Post by admin »

I found out that those menu items that have submenus (i.e. those with that little black arrow on the right) can have keyboard shortcuts as well. I never have seen this anywhere but it works, or rather would work in XYplorer: you press the defined key and the submenu pops up where the mouse is.

But:
- It would be even more work for me to implement all these items (they need some special care). CKS would come even later...
- The app would get heavier by all the additional code.
- The dual monitor issue would concern all these menus (i.e. they might pop up on the wrong monitor depending on some other conditions). (To fix this it would take an additional month...)

So, I don't want to implement this. Or is there an unexpected majority of users that have been waiting all their life for a chance to popup submenus via keyboard?

John Bee
Posts: 323
Joined: 01 May 2005 20:21
Location: Win10, Win11 @100%

Re: Hotkeys for opening submenus?

Post by John Bee »

admin wrote: So, I don't want to implement this. Or is there an unexpected majority of users that have been waiting all their life for a chance to popup submenus via keyboard?
Seeing as how one will be able to assign cks to the items in the submenu, I can't see why anyone would want it, so I say nope!

John

JustinF
Posts: 358
Joined: 28 Jun 2005 23:47
Location: Omaha, Nebraska, USA

Re: Hotkeys for opening submenus?

Post by JustinF »

admin wrote:So, I don't want to implement this. Or is there an unexpected majority of users that have been waiting all their life for a chance to popup submenus via keyboard?
I guess it could be handy to pop up submenus via the keyboard, I don't know...in my time of using XY I've never had the wish of such a thing, though. I definitely vote no if it's going to pop up even more menus on the wrong monitor in my dual-monitor setup! :evil: Of course, if you DID put it in, I wouldn't be forced to use it......
Justin
Windows 7 Professional

jacky
XYwiki Master
Posts: 3106
Joined: 23 Aug 2005 22:25
Location: France
Contact:

Re: Hotkeys for opening submenus?

Post by jacky »

admin wrote:So, I don't want to implement this. Or is there an unexpected majority of users that have been waiting all their life for a chance to popup submenus via keyboard?
YES, me! :mrgreen: :P ;)

Seriously though, been going through the menus... it might actually be useful for some when it comes to some menus, but not necessarily all. So maybe you could just "add them" somehow to the list of available features? :unsure:
What I mean is, if one wants to do this with Window/Tabs, he can, just use View/Current Tab/Tab List instead to get the same results... so if one can assign shortcuts to features others than the menus (I think that will be he case, right?) then maybe add a few more in that list ;)
It could be cool to have access to all of them, but I doubt anyone would really put a shortcut for View/Tree Style... ? So here are those that maybe could be useful to have, IMHO, one way or another:
- File/Info to Clipboard
- File/Rename Special
- Edit/New
- Edit/New Items
- Go/History (unlike Hotlist, Breadcrumb, etc this one is a submenu on the menus, so it can't be poped up, or am i missing it?)
- Tools/List Management
and maybe Favorites/Favorite Folders too.

Note that this is only a thought, with keyboard freaks in mind, as I don't think I'd care for any of those myself since they are (or will be ;)) available otherwise for me. Meaning I'm more or a mouse guy I guess, so the List ctxt menu comes in handy, along with the Toolbar.
Proud XYplorer Fanatic

CyGho
Posts: 146
Joined: 29 Oct 2005 21:31
Location: Win 11, 25H2 26200.6899, 2560x1440 px, 100%
Contact:

Re: The keys

Post by CyGho »

admin wrote: These can be freely combined with any combination of Ctrl/Shift/Alt (including none), means we'll have 58 * 8 = 464 key combos available. Probably more than you can remember, so that should be enough for a start! :)
Well, if you have enough.........:) Remember this old wish from me?
http://www.xyplorer.com/xyfc/viewtopic. ... highlight=
Software: should we be aware because it's soft ? I like to think not !

Post Reply