User Tools

Site Tools


doc:appunti:android:osmand_remote_controller

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
Last revisionBoth sides next revision
doc:appunti:android:osmand_remote_controller [2020/02/04 10:41] niccolodoc:appunti:android:osmand_remote_controller [2020/02/24 16:33] – [Remapping the controller keys (root required)] niccolo
Line 1: Line 1:
 ====== Using OsmAnd with a Remote Controller ====== ====== Using OsmAnd with a Remote Controller ======
  
-[{{.:osmand:osmand-remote-controller.jpg?380 |OsmAnd paierd with a Bluetooth remote controller}}]+{{.:osmand:osmand-remote-controller.jpg?380 |OsmAnd paierd with a Bluetooth remote controller}}
 I'm an early joiner of the **[[https://www.openstreetmap.org|OpenStreetMap]]** project, so I'm a big fan of the **[[https://play.google.com/store/apps/details?id=net.osmand|OsmAnd]]** app. It is my preferred choice for **motorbike on-board navigation**. I'm an early joiner of the **[[https://www.openstreetmap.org|OpenStreetMap]]** project, so I'm a big fan of the **[[https://play.google.com/store/apps/details?id=net.osmand|OsmAnd]]** app. It is my preferred choice for **motorbike on-board navigation**.
  
Line 104: Line 104:
 In theory - to remap the functions of our controller - it should be possible to provide a **specific keylayout file** for just this controller: Android's instructions say to simply create a file with the name **Vendor_ffff_Product_0000.kl** (see the vendor and product read from the ''/proc/bus/input/devices'' pseudofile). Unfortunately this does not work, may be because ffff and 0000 are not valid ID values. In theory - to remap the functions of our controller - it should be possible to provide a **specific keylayout file** for just this controller: Android's instructions say to simply create a file with the name **Vendor_ffff_Product_0000.kl** (see the vendor and product read from the ''/proc/bus/input/devices'' pseudofile). Unfortunately this does not work, may be because ffff and 0000 are not valid ID values.
  
-So we have to change the **Generic.kl** file, redefining some ScanCodes and axis (the rest of the file must remain untouched):+So we have to change the **/system/usr/keylayout/Generic.kl** file, redefining some ScanCodes and axis (the rest of the file must remain untouched):
  
 <file> <file>
-key 305 MINUS +key 304   MINUS 
-key 307 PLUS+key 305   MINUS 
 +key 307   PLUS 
 +key 308   PLUS
 axis 0x00 Y axis 0x00 Y
 axis 0x01 invert X axis 0x01 invert X
 </file> </file>
 +
 +**NOTICE**: I have redefined scancodes **304** and **308** as **duplicates** of 305 and 307. This is because the default action for scancode 304 was **BUTTON_A**, which opens the **Actions menu** in OsmAnd 3.5.5; opening this menu by accident is very annoying because you can close it only using the touchscreen!
  
 This change have the side effect to remap all the external keyboards that we will connect to our Android device! This change have the side effect to remap all the external keyboards that we will connect to our Android device!
Line 124: Line 128:
 ===== Other remote controllers ===== ===== Other remote controllers =====
  
-  * **[[https://daytona-global.com/products/?page=Products_Product&mfrID=13&categID=28&subcategID=80&productID=87352|Daytona Smartphone controller]]** - Sent keypresses to the Android device: Enter, Power, Escape, Home, Joystick.+  * **[[https://daytona-global.com/products/?page=Products_Product&mfrID=13&categID=28&subcategID=80&productID=87352|Daytona Smartphone controller]]** - Keypresses sent to the Android device: Enter, Power, Escape, Home, Joystick.
   * **[[https://carpe-iter.com/carpe-iter-control/|Carpe Iter Control]]** - Seven programmable keys, with two functions each.   * **[[https://carpe-iter.com/carpe-iter-control/|Carpe Iter Control]]** - Seven programmable keys, with two functions each.
  
doc/appunti/android/osmand_remote_controller.txt · Last modified: 2020/02/24 16:35 by niccolo