Opened 13 years ago

Last modified 11 years ago

#5763 new defect

Keyboard shortcuts not saved

Reported by: ch70 Owned by: team
Priority: normal Milestone:
Component: Core shortcuts Version:
Keywords: keyboard shortcuts Cc:


I'm trying to map action 'mapmode:draw' to the 'A' key but fail:

  • go to preferences
  • sort the list of keyboard shortcuts by action
  • select the line with the entry 'mapmode:draw' (Modus:zeichnen)
  • uncheck 'use default' (and make sure the rest is unchecked too)
  • select 'A' from the dropdown list of available keys
  • confirm
  • a message box pops up telling to restart JOSM
  • before doing so I checked the preferences file and noticed the following line added:
shortcut.shortcut.0=view:zoomlayer;Anzeige: Auf Ebene zoomen;50;3;65;0;false;true

I would have expected to see something with 'mapmode:draw' added ... anyhow, without restarting:

  • open the preferences again and sort the list by actions
  • check the line with the entry 'mapmode:draw' - in my case it is mapped to 'D' now!
  • sort the list by keyboard shortcuts and search for 'A' - in my case I see two actions mapped to 'A': 'view:zoomlayer' (sic!) and 'tools:alignways'
  • click cancel, quit and restart JOSM
  • go to preferences
  • sort the list by actions and check for 'mapmode:draw' - not there, so I load a datalayer first
  • check the mapping again - in my case the action 'mapmode:draw' is now mapped to 'E'!

Sorry, this remapping is very confusing. How do I get 'mapmode:draw' mapped to 'A'?

There used to be once a similar problem with key mappings (see ticket#1769).

System details:

Repository Root:
Build-Date: 2010-12-08 02:31:28
Last Changed Author: bastiK
Revision: 3706
Repository UUID: 0c6e7542-c601-0410-84e7-c038aed88b3b
Last Changed Date: 2010-12-07 12:49:44 +0100 (Tue, 07 Dec 2010)
Last Changed Rev: 3706

Identification: JOSM/1.5 (3706 de)
Memory Usage: 198 MB / 448 MB (25 MB allocated, but free)
Java version: 1.6.0_22, Sun Microsystems Inc., Java HotSpot(TM) Server VM
Operating system: Linux
Dataset consistency test: No problems found

Plugin: FixAddresses (24232)
Plugin: RoadSigns (22850)
Plugin: alignways (23560)
Plugin: buildings_tools (23804)
Plugin: colorscheme (21563)
Plugin: download_along (22427)
Plugin: graphview (23435)
Plugin: imagery (24675)
Plugin: mapdust (24733)
Plugin: measurement (22547)
Plugin: openstreetbugs (23747)
Plugin: remotecontrol (22734)
Plugin: restart (24396)
Plugin: reverter (23278)
Plugin: tageditor (21026)
Plugin: tagging-preset-tester (22454)
Plugin: turnrestrictions (24125)

Attachments (0)

Change History (3)

comment:1 by bastiK, 13 years ago

it doesn't save the shortcut to preferences because it is the same as the default. The problem is shortcut conflict with alignways plugin. I fixed the plugin to use 'I' instead of 'Shift-A'. It prints some useful info to the console. Yes, the conflict handling is a little strange and needs rework.

comment:2 by ch70, 13 years ago


The automatic remapping is a good thing but it ignores user settings: if a user unchecks "use default" then the automatic remapping must not touch this entry (currently is does).

I admit I don't know the code and the effort to change this behavior but in my opinion something like the following is missing inside the remapping code:

if 'use default' == check then {allow remapping of keyboard shortcut for this action} else skip

comment:3 by Don-vip, 11 years ago

Component: CoreCore shortcuts

Modify Ticket

Change Properties
Set your email in Preferences
as new The owner will remain team.
as The resolution will be set. Next status will be 'closed'.
to The owner will be changed from team to the specified user.
Next status will be 'needinfo'. The owner will be changed from team to ch70.
as duplicate The resolution will be set to duplicate. Next status will be 'closed'. The specified ticket will be cross-referenced with this ticket.
The owner will be changed from team to anonymous. Next status will be 'assigned'.

Add Comment

E-mail address and name can be saved in the Preferences .
Note: See TracTickets for help on using tickets.