[josm-dev] Commit access

Dirk Stöcker openstreetmap at dstoecker.de
Mon Oct 6 16:21:53 BST 2008


On Sun, 5 Oct 2008, Henry Loenwind wrote:

I found no way to register a shortcut using a modifier. Did I overlook 
anything. I wanted to removed the F1/F1 clash and make the About dialog 
into Shift+F1.

>> a) Please save keyboard configuration only if it differs from the defaults
>> to allow later changes.
>
> It a shortcut is at its default value it will be saved so the user can
> be warned if it changes later. It will be re-computed on every startup,
> the old binding will only be used to see if a warning should be shown or
> not.
>
>> b) Don't save automatic changes. These should be visible in shell to be
>> fixable.
>
> Same goes for the automatics.

Then something does not work as expected. I should get the same silent 
changes on each call. From call to call there are a lower number of these.

>> c) The list is not sorted in any way I find useful.
>
> It's not sorted at all. Nor is it filtered. Nor do the column have
> useful widths.

They must be sorted. It is hard to use as it is now.

> Someone should look over the texts, I agree. I lost track here, becaus
> ethey are so scattered through all files and not in a central location.
> Maybe we should pull out the default values (via i18n), and just have
> symbolic names in the source?

No. The gettext approach is better, as the texts appear in their context.

>> e) I see elements in group edit, whereas they are in the tools menu.
>
> EDIT is the group for keystrokes without modifiers. I haven't noticed
> the name clash with the Edit menu before.
>
>> f) I would reduce the list to:
>>     1) menu (when applicable)
>>     2) action (translated one, but otherwise unmodified)
>>     3) shortcut
>>     Everything else should be internal.
>
> Just to explain my groups:
>
> NONE - No shortcut will be assigned by default, but the user may
> override. The modifiers for this group can not be changed by the user.
>
> EDIT - The single key A-Z commands we have to dirctly manipulate (edit)
> data.
>
> DIRECT - non-A-Z keys without modifiers. The only difference ot EDIT is,
> that these are in a different group, so when a user changes the EDIT
> group, these will not automatically move, too. The modifiers for this
> group can not be changed by the user.
>
> LAYER (named subwindow in the GUI because I realized the naming was bad)
> - all actions to toggle the subwindows (sayers, properties, relation,
> command stack...). However, they collide with the MNEMONICS, now that we
> have collision handling (they also did before, but nobody noticed).
>
> MNEMONICS - The menu mnemonics. I added this group late, when I noticed
> that we actually set them and need a way to block the shortcuts from
> being reused. The shortcuts themselves are in the list, so a user can
> free Alt-F, Alt-E, Alt-T ... Alt-H if he wants. The single modifier for
> this group can not be changed by the user. (On my TODO-list: make sure
> the user cannot change the modifier on the shortcut itself, make sure
> the user can only choose a letter that is part of the menu text.)
>
> MENU - Everything JOSM puts into the menus. (Ctrl on Win, Command on Mac)
>
> SHORTCUT - Everything else (not on menu, not a subwindow toggle, not a
> direct edit command). Would be the same as MENU if we had Windows only.
> But for systems with a 4th modifier key, I created the second group, so
> we can distribute better there. (Ctrl on Win and Mac)
>
> Then there are a couple of tricks, e.g. Upload and Download use the
> first alternative modifiers of the MENU group, so Duplicate gets its Ctrl-D.

This is fine internal. Copy that text into the code if not already there.

Don't expose that or the ID to the user. The description and the shortcut 
should be the only visible thing in the user menu. Giving sensible 
descriptions is much better than having 3 descriptional types.

Is there really a reason for the key modifier panel after we fixed the 
clashing shortcuts? If not, this and probably the informational text 
should only be visible, when a certain secret variable is set (e.g. 
shortcut.modifiers=true :-).

Do you make a patch for the above points and send it to me?

Ciao
-- 
http://www.dstoecker.eu/ (PGP key available)




More information about the josm-dev mailing list