SherbetS's Diary

Recent diary entries

Mapping with a game controller

Posted by SherbetS on 16 November 2021 in English (English).

Hello all,

I recently picked up mapping with the river modernization folks, and one of the first things I wanted to do was to speed up the rate at which I could modernize rivers.

When I was in 5th Grade, I bought a PlayStation 3 from a friend that I used to have sleepovers and play on together for 100 USD. it came with 2 controllers and I’ve since used them to play games, mostly on my computer.

Recently, I stumbled upon this program, that recognized my controller and let me map keybinds to it. I toyed around with it and ended up making a basic configuration to speed up my most common key combinations.

My initial control scheme

To complete any given riverbank with no other tags on the to-do list, I would simply press O, then move the right joystick up and to the left to add the desired tags natural=water and water=river, then to the right to mark the object complete.

If I ever messed up any part of the process, I could simply move the left joystick down and to the left to undo the change.

This control scheme was great, and much better than using the keyboard in terms of speed, but it still had its downsides.

In the area I was mapping, around 90% of the objects I was retagging were just rivers, but a few would be canal areas, which this control scheme would have trouble with. for canals, I would have to return to my keyboard to type in the necessary combination to add water=canal.

Making a new control scheme isn’t easy, since it can be difficult to rebuild your muscle memory after doing it a certain way for so long.

After pondering on it for a couple days, I devised this new control scheme:

The new control scheme, from above.

To achieve this new scheme, I had to mess around with the “Keyboard Shortcuts” settings of the JOSM editor. I changed the binds for: Delete Tags, Paste Tags, and added a bind for Canals, (I’ll elaborate later)

I changed these to a single key that JOSM didn’t use for anything else, since it would be simpler to add in the controller mapping software. Once they were all added, I simply bound them to the shoulders and triggers as in the picture above.

To achieve the canal option, I used the Custom Presets JOSM plugin to create a preset that assigned the fixed values natural=water water=canal to the object. when you add a preset to the toolbar, JOSM lets you create a keybind for it. I added it to the toolbar, created a keybind like I did for delete and paste tags, then mapped it to my controller. Unfortunately, you still have to press enter to confirm the canal preset, so I bound enter to the square button.

With this new setup, I am able to retag an object just by pressing the buttons in the numbered order in the picture.

I really enjoy this new setup, and it’s easier on the fingers. I am excited to see how I and others can adapt this style of mapping to other endeavors.