Jump to content

Touchkeys

From postmarketOS Wiki

Touchkeys are buttons with minimal or no physical actuation or haptic feedback. They're triggered by a touch on a specific area of the device, usually with a corresponding icon (see examples below). They are usually detected by the same hardware as the touchscreen itself.

App selection button

Android's app selection button

On Android this button brings up the "recent apps" screen on a short click and splits the screen on a long click. The long click action is configurable. This button should correspond to KEY_APPSELECT when upstreaming a device.

Limitations

KEY_APPSELECT has a kernel keycode of 580 (0x244).[1] In xkb library this is keycode 588. Keycodes above 255 are not processed in X11 because X11 uses 8 bit keycodes.[2] Therefore, KEY_APPSELECT is not available in X11 UIs. Wayland uses 32 bit keycodes and does not have this limitation.[3] However, the key isn't processed properly in Phosh, some parts of software don't handle it correctly. Also in Plasma Mobile the key can't be used for shortcut assignment.

Menu button

Android's menu button

This button should correspond to KEY_MENU when upstreaming a device. This button is usually not configured for any functionality in most DEs.

Back button

Android's back button

This button should correspond to KEY_BACK when upstreaming a device. This button is usually not configured for any functionality in most DEs.

Confirming touch key mapping

You can confirm the mapping of touch keys using the following tools:

  • Kernel key names by command evtest (package evtest)
  • xkb key names by xev (package xev)
  • Wayland key names by wev (package wev)

Related

See also Tm2-touchkey.