Ok. I’m not software engineer but according your linked documentation, my suggestion gives this carpe iter profile:
Device output keycode = kurviger keycode (function)
KEYCODE_ENTER = KEYCODE_C (center map to user location)
KEYCODE_A = KEYCODE_PLUS (zoom in)
KEYCODE_ B = KEYCODE_N (Navigation pause / resume)
KEYCODE_ESCAPE = KEYCODE_MINUS (zoom out)
KEYCODE_C = KEYCODE_B (add bookmark)
The device has arrows + plus / minus + 3 keys (A, B, C)?
Then the functions could be:
- Zoom in: PLUS
- Zoom out: MINUS
- Move map: UP, DOWN, LEFT, RIGHT
- Center on user location : C
- Navigation pause / resume : A
- Add bookmark: B
Provided that their keys correspond to the similar Android key codes.
sometimes a picture is better than words
Thanks, it would be nice if all external devices provide documentation…
(and how they work with Android code)
On our topic, how many and what buttons do Carpe Iter devices have?
- Plus / Minus
- A, B, C
Do they support long press?
However, the functions seem to fit the existing buttons.
(so long press is not needed)
Note that when you select “Keyboard”: the “C” key centers on user location and “B” adds bookmark.
(so you can already test those keys)
Then my above suggestion can work?
Yes. (See my post above).
Device have 2 Button an one Joystick.
C and B works already but not with the buttons which I prefer.
If there are only 4 directions + 2 buttons [A / B],
why in your above post, you mention Plus / Minus and C?
What do you mean? We must select sane defaults.
“Keyboard” maps them to Android key codes C / B.
If the 4 directions are mapped on Android key codes [Up, Down, Left, Right],
then what Android key codes do the 2 buttons have?
Does the 2nd button add a bookmark?
i.e. mapped to Android key code B
If only 4 directions + 2 buttons [A / B] are available,
most users would prefer to move + zoom the map.
But first we must clarify what buttons are available.
(and what Android key codes they have)
Users report above that they can zoom [+ / -] or center location [C] with “Keyboard” selection:
KEYCODE Arrows Up, Down, Left, Right
Push on center = KEYCODE_ENTER
short press = KEYCODE_A
long press = KEYCODE_B
short press = KEYCODE_ESCAPE
long press = KEYCODE_C
All this KEYCODES are 1:1 from device without mapping from Ci Service or DMD2!
Thanks, where did you find them?
Selecting “Keyboard”, long press button A add bookmark?
Selecting “Keyboard”, long press button B center on user location?
yes for both questions.
To get this events, I connected device via bluetooth and used the android app HardwareKeybordCheck. It shows nicely the output.
So a possible mapping could be:
(and according your suggestion)
- Directions: Move map
- Press center (KEYCODE_ENTER): Center on user location
- Press (KEYCODE_A): Zoom in
- Long press (KEYCODE_B): Navigation pause / resume
- Press (KEYCODE_ESCAPE): Zoom out
- Long press (KEYCODE_C): Add bookmark
We could keep the plus / minus for zoom, why some users mentioned they work?
That would be perfect for me
Zoom in / out works only with mapping from CI App.
The good thing is, it can work for both uses:
- case native controller support:
- select carpe iter device in kurviger external device setting => mapping in kurviger
- case with Ci Controller / DMD2
- select keyboard in kurviger external device setting => mapping at CI App.
Thanks for checking!
These additions will be available in the next app update.
I applied for beta-test right now. As soon as it will be available, I’ll check it and report back.
2.2 (Beta) testing is currently closed and as they are additions, they can be in the next update.
Available in Kurviger 2.2.26.
All functions tested and it works as defined
Thank you! Great job devemux86!
Thanks for the suggestion, checking the keys and testing!
BTW: this update solves also two other items on my kurviger issue list:
- control the phone with device even when display is locked (rain drop protection).
- zoom in and out centrum is now at position. Before it was on center of screen.
It depends if the navigation or follow location is active.
Αnd auto center is not temporarily disabled (when user moves the map).
Then screen (bottom) center just follows the location.