Struggling to switch to JOSM

Cross-references (without solution):

Alas, no Windows in my house.

Anyway as the JOSM authors aren’t willing to make a such an itty bitty opening up of their software for

well, too bad for me.

Stating the fact again: Changing mouse button use in josm is NO simple task, but needs a rework of the complete button handling. And that is already now overly complex as it is and took years to be bugfree.

But as always in JOSM. Simply use something else. You can completely skip right mouse panning. Use scroll wheel to zoom out, move mouse and zoom in. Same result without violating your ‘muscle memory’. Or use the keyboard for panning.

BTW I’m able to use many programs using different methods for scrolling and panning.It’s always only the first few seconds directly after switching which are troublesome.

2 Likes

:smile:
True. Alway fun mapping sessions when there’s JOSM on one screen and some OSMCha tabs on the other. And the tabs frequently lead to iD edits

Also, using street level imagery is easier in iD so I sometimes have the same place open in JOSM and iD and moving the screen then really gets messy :woozy_face:

1 Like

I consider the right click to pan the map in josm an important feature, not a bug. Using the same button for panning the map and moving objects like iD does is a very strange design decision when you have a high object density like it’s common in OSM.

When I’m using iD, it sometimes feels like I have to navigate a minefield with my mouse pointer just to be able to pan the view around and not accidentally move random objects. I don’t even want to know how many errors that has caused in OSM over the years.

2 Likes

There may be opportunities to mitigate this class of error without forcing users to use a gesture that’s quite exotic (on the Web anyway).

1 Like

Web vs. desktop might be the important distinction here. Using right click+drag to pan around is quite common for desktop based editing software (CAD, graphics, etc…)

1 Like

I feel you. Same for me :laughing: I just can’t use iD, I tried many times, but I always accidentally ended up moving something somewhere else :wink:

It might inflame dozens, hundreds, even thousands as I say so, but with JOSM I’m “more certain,” with iD I suppose I’m glad somebody is doing some thinking for me.

Ii think it is largely about how deliberate you want to be vs. how “let somebody choose good defaults for me, I guess…” instead rules with iD. That’s a little harsh, but largely captures it.

For me, it’s around 75% JOSM, approaching 80%, the remainder iD and Potlatch and others. And after 15+ years, it’s hard to move the needle much, though my JOSM use continues to rise.

JOSM “mastery” is a climb. Keep climbing, everybody who wishes to improve their JOSM skills. I have found it is worth the effort. I consider myself somewhere around intermediate.

1 Like

I Loooove my Custom Presets, wip them out with the EasyPreset plugin, sort them as you please, update them ad hoc if a new tag/value develops. Somewhere in the last few days a plugin came to attention, another great one… JOSM QuickLabel Plugin. Since I have trouble seeing dark/small things (lantarns, bus stops, cell towers and more adding labels is great, here a bump label linked to speed bumps, few seconds delay and. Come to think, there’s objects which have no icon, yet, attach a label :O)

image

More sophisticated, many/most streetlamps here were converted from incandescent to LED (we label ‘led’ now). Show the lamp_type at a lantern and you know if it needs revisiting… multiple labels can be added to an object… New Istanbul (kebab) if there’s the cuisine value on the object

image

yes, it could lead to clutter, but you’re in charge.

1 Like

I know: simply unscrew the lid of my mouse and swap the wires.

Because it is harder to swap variables in some file.h .

But as always in JOSM. Simply use something else. You can completely skip right mouse panning. Use scroll wheel to zoom out, move mouse and zoom in. Same result without violating your ‘muscle memory’. Or use the keyboard for panning.

I like in Enacs where they remembered to add a layer of abstraction allowing them to emulate all other editors. Never a worry about not being able to rebind a key or mouse click.

So I am supposed to tie one of my hands behind my back when using JOSM because such things are not priorities. And what if I accidentally use one of my habitual mouse motions?

Well good for you, But with my Limited Edition brain, I’m not so flexible.

1 Like

So there we have it.

  • Half of us can’t use JOSM.
  • Half of us can’t use iD.
  • And another half of us can, because they’ve got FlexiBrains.

Anyway, nobody fixed bug reports asking

  • JOSM, or
  • iD

to add a layer of

allowing users flexibility to simply rebind the buttons or keys in the ways they see fit.

Keyboard shortcut - Wikipedia says

Other systems, typically Unix and related, consider shortcuts to be a user’s prerogative, and that they should be customizable to suit individual preference…

The motivations for customizing key bindings vary. Users new to a program or software environment may customize the new environment’s shortcuts to be similar to another environment with which they are more familiar

Ah, I though we are talking as grown persons, my fault. But in case of kindergarten:

For normal people: I’m talking about what most people expect: Move pan function to the left mouse additionally to all the other functions left mouse already has, because nobody wants to select, drag and so on with the right button.

2 Likes

@jidanni : There are severe problems with enabling a switch in behavior for right and left mouse buttons. For starters, some plugins may expect that a certain mouse button does certain things, and that is hard-coded. For example, a plugin may expect a left-click will be used to select objects, and a right-click is used to move the map.

If I had more time, I might investigate adding an advanced preference for primary, secondary, and tertiary mouse buttons, if only to make it easier for a future conversion. I would not look into adding customization for every aspect of the keybindings for mouse buttons (e.g. ctrl+r+left click and drag to rotate).

2 Likes

Takes me one slap on forehead to set my LEB right and move the pan function to the left lobe, what’s remaining of it ;o).

Seriously, I’m fine and one of the posts above actually lays out why that is, the right hand panning.

PS, my supa high resolution mouse actually has 12 buttons functions to include underneath where the right thumb rests, programmable, and I’m left handed. The best one, give the central wheel (there’s a thumb wheel too), a swirl and a very long web page slowly, or fast depending on the ferocity of the swirl, scrolls to the top or the bottom, tuning to reading speed possible, plus the wheel has an extra ‘button’ function pushing it to the left, only just discovered, OFL.

1 Like

That wouldn’t help. Operating system functions already allow to switch mouse buttons (see link above). But that would keep the assignment of the functions grouped as they are. And all the requests to “switch the mouse buttons” boils down to “change the usage of the buttons”, namely use left mouse for drag without switching everything else.

Keeping logic as is and only allow to reorder the buttons would probably be relatively simple (there are 56 places in core code dealing with that), the plugins issue beside, but that could be solved. But for the few people who really want that, I’d suggest to use operating system tools which can do that already.

1 Like

I’m just worried that if I tell such tools to swap JOSM’s bindings to match Google Maps’, it will also have the side effect of swapping Google Maps’ bindings to match JOSM’s.

In other words I don’t think those tools are advanced enough to be able to tell if an input stream is coming from JOSM vs. coming from Google Maps.

First I’d check if these bindings could be tied to the active window by name. I wouldn’t be surprised if that is possible. I did some stuff like that and there are a lot of possibilities.

If there is no such tool I personally would add a keyboard bindings to any of the many keys on my keyboard: “switch mouse” Everytime you press that the bindings will be reversed. That’s extremely fast and easy to use.

P.S. I still believe that using the JOSM way is the better choice.

1 Like

Then I would have to think of switching the mouse buttons every time I switch between apps. Would that be faster and easier then rembering to use the correct mouse button for the app?
BTW My motor memory refuses to remember this. I make more mistakes this way than I would if the left mouse button was for moving the map and the right mouse button for lasso or square select. My control and z keys are 2 mm lower than the rest.

1 Like