安装包图标

Key Mapper

Remaps the buttons on your device and other devices and fingerprint gestures.
新版本 2.2.0-beta.1
Added
- Remap fingerprint gestures! #378
Android 8.0+ and only on devices which support them. Even devices with the setting to swipe down for notifications might not support this! The dev can't do anything about this.

- Widget/shortcut to launch actions. #459
- Setting to show the first 5 digits of input devices so devices with the same name can be differentiated in Key Mapper lists. #470
- Show a warning at the top of the homescreen if the user hasn't disabled battery optimisation for Key Mapp
What can be remapped?

* Fingerprint gestures on supported devices.
* Volume buttons.
* Navigation buttons.
* Bluetooth/wired keyboards.
* Buttons on other connected devices should also work.
* Nintendo Switch JoyCons.
* Chubby Buttons 2.

ONLY HARDWARE buttons can be remapped.
There is NO GUARANTEE any of these buttons will work and this app is NOT designed to control games. Your device's OEM/vendor can prevent them from being remapped.

You can combine multiple keys from a specific device or any device to form a "trigger". Each trigger can have multiple actions. The keys can be set to be pressed at the same time or one after another in a sequence. Keys can be remapped when they are short pressed, long pressed or double pressed. A keymap can have a set of "constraints" so it only has an effect in certain situations.

What can’t be remapped?
* Pixel Active Edge
* OnePlus Alert Slider
* Power button
* Bixby button
* Mouse buttons
* Dpad, thumb sticks or triggers on game controllers

Your key maps don't work if the screen is OFF. This is a limitation in Android. There is nothing the dev can do.

What can I remap my keys to do?
Some actions will only work on rooted devices and specific Android versions.

* Open an app
* Open an app shortcut.
* Open a URL
* Go back
* Go home
* Open recents
* Open menu
* Expand notification drawer
* Expand quick settings
* Collapse status bar
* Toggle/enable/disable WiFi (ROOT only for Android 10+)
* Toggle/enable/disable Bluetooth
* Toggle/enable/disable mobile data (ROOT only)
* Toggle Play/pause media
* Pause/play media
* Fast forward/rewind
* Next/previous track
* Volume up/down
* Increase/decrease a specific volume stream
* Show the volume dialog
* Cycle through and change the ringer mode
* Mute/unmute/toggle mute (Android 6.0+)
* Toggle/enable/disable auto-rotate
* Switch between portrait and landscape mode
* Force portrait/landscape mode
* Toggle/enable/disable auto-brightness
* Increase/decrease brightness
* Toggle/enable/disable flashlight (Android 6.0+)
* Toggle/enable/disable airplane mode (ROOT only)
* Toggle/enable/disable a dnd mode (Android 6.0+)
* Switch between vibrate and ring
* Take a screenshot (Android 9.0+)
* Open the Voice Assistant
* Open the Device Assistant
* Open camera
* Consume key event. (Do nothing)
* Lock the device
* Show the power dialog (Android 5.0+)
* Move the cursor to the end of a file

And more....

A Key Mapper keyboard needs to be selected for these to work:

** It is recommended to install the Key Mapper GUI Keyboard app because this is a proper keyboard unlike the one built-in to Key Mapper **

* Input a specific keycode
* Input a key
* Input a Key Event
* Insert a block of text

What other things can the app do?
* Option to show a persistent notification which can pause/resume your keymaps.
* Automatically change the keyboard to the Key Mapper one and/or show the keyboard picker when a chosen Bluetooth device is connected and switch back to the old one when it is disconnected.
* Quick settings to pause/resume keymaps and toggle the Key Mapper keyboard.
* Create home screen widget to perform the actions mentioned above.

Permissions
You don't have to grant all the permissions for the app to work. The app will tell you if a permission needs to be granted for a feature to work.

* Accessibility Service: Basic requirement for remapping to work. It is needed so the app can listen to and block keyevents.
* Device Admin: To turn the screen off when using the action to turn off the screen.
* Modify System Settings: To change the brightness and rotation settings.
* Camera: To control the flashlight.

On some devices, enabling the accessibility service will disable "enhanced data encryption".

Discord: https://discord.gg/Suj6nyw

安装包

尽管下面提供了 APK 安装包的下载选项,但您应该注意,以这种方式安装将不会收到更新通知,这是一种不太安全的下载方式。 我们建议您安装使用 F-Droid 客户端。

下载 F-Droid
  • 版本 2.2.0-beta.1 (39) 推荐 更新日期:2021-01-03

    该版本需要 Android 4.2 及以上版本。

    此安装包由 F-Droid 编译并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 与蓝牙设备配对
      允许该程序查看手机上的蓝牙配置,以及与配对设备建立连接或接受其连接请求。
    • 开机启动
      允许程序在系统完成引导后立即自动启动。这样可能会延长手机的启动时间,并允许程序始终运行,从而导致手机总体运行速度减慢。
    • 访问蓝牙设置
      允许程序配置本地蓝牙手机,并允许其查找远程设备且与之配对。
    • 查看WLAN连接
      允许该程序查看WLAN网络的相关信息,例如是否启用了WLAN以及连接的WLAN设备的名称。
    • 连接WLAN网络和断开连接
      允许该程序与WLAN接入点建立和断开连接,以及更改WLAN网络的设备配置。
    • 查看网络连接
      允许该程序查看网络连接的相关信息,例如存在和连接的网络。
    • 展开/收拢状态栏
      允许程序展开或收起状态栏。
    • 拥有完全的网络访问权限
      允许该程序创建网络套接字和使用自定义网络协议。浏览器和其他某些程序提供了向互联网发送数据的途径,因此程序无需该权限即可向互联网发送数据。
    • 拍摄照片和视频
      此程序可随时使用相机拍摄照片和录制视频。
    • 使用指纹硬件
      允许该程序使用指纹硬件进行身份验证
    • 控制振动
      允许程序控制振动器。
    • “勿扰”模式使用权限
      允许此程序读取和写入“勿扰”模式配置。
    • 读取手机状态和身份
      允许该程序访问设备的电话功能。此权限可让该程序确定本机号码和设备ID、是否正处于通话状态以及拨打的号码。
    • android.permission.QUERY_ALL_PACKAGES
    • 修改系统设置
      允许程序修改系统的设置数据。恶意程序可能会破坏的系统配置。
    • 防止手机休眠
      允许程序阻止手机进入休眠状态。
    • 运行前台服务
      允许该程序使用前台服务。
    • 对正在运行的程序重新排序
      允许该程序将任务移动到前台和后台。该程序可能不经的命令自行执行此操作。

    下载APK 3.7 MiB PGP签名 | 构建日志

  • 版本 2.1.0 (38) - 更新日期:2020-11-25

    该版本需要 Android 4.2 及以上版本。

    此安装包由 F-Droid 编译并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 与蓝牙设备配对
      允许该程序查看手机上的蓝牙配置,以及与配对设备建立连接或接受其连接请求。
    • 开机启动
      允许程序在系统完成引导后立即自动启动。这样可能会延长手机的启动时间,并允许程序始终运行,从而导致手机总体运行速度减慢。
    • 访问蓝牙设置
      允许程序配置本地蓝牙手机,并允许其查找远程设备且与之配对。
    • 查看WLAN连接
      允许该程序查看WLAN网络的相关信息,例如是否启用了WLAN以及连接的WLAN设备的名称。
    • 连接WLAN网络和断开连接
      允许该程序与WLAN接入点建立和断开连接,以及更改WLAN网络的设备配置。
    • 查看网络连接
      允许该程序查看网络连接的相关信息,例如存在和连接的网络。
    • 展开/收拢状态栏
      允许程序展开或收起状态栏。
    • 拥有完全的网络访问权限
      允许该程序创建网络套接字和使用自定义网络协议。浏览器和其他某些程序提供了向互联网发送数据的途径,因此程序无需该权限即可向互联网发送数据。
    • 拍摄照片和视频
      此程序可随时使用相机拍摄照片和录制视频。
    • 控制振动
      允许程序控制振动器。
    • “勿扰”模式使用权限
      允许此程序读取和写入“勿扰”模式配置。
    • 读取手机状态和身份
      允许该程序访问设备的电话功能。此权限可让该程序确定本机号码和设备ID、是否正处于通话状态以及拨打的号码。
    • android.permission.QUERY_ALL_PACKAGES
    • 修改系统设置
      允许程序修改系统的设置数据。恶意程序可能会破坏的系统配置。
    • 防止手机休眠
      允许程序阻止手机进入休眠状态。
    • 运行前台服务
      允许该程序使用前台服务。
    • 对正在运行的程序重新排序
      允许该程序将任务移动到前台和后台。该程序可能不经的命令自行执行此操作。

    下载APK 3.3 MiB PGP签名 | 构建日志

  • 版本 2.1.0-beta.4 (36) - 更新日期:2020-11-16

    该版本需要 Android 4.2 及以上版本。

    此安装包由 F-Droid 编译并签名,且保证与此源代码 tarball 保持一致。

    权限
    • 与蓝牙设备配对
      允许该程序查看手机上的蓝牙配置,以及与配对设备建立连接或接受其连接请求。
    • 开机启动
      允许程序在系统完成引导后立即自动启动。这样可能会延长手机的启动时间,并允许程序始终运行,从而导致手机总体运行速度减慢。
    • 访问蓝牙设置
      允许程序配置本地蓝牙手机,并允许其查找远程设备且与之配对。
    • 查看WLAN连接
      允许该程序查看WLAN网络的相关信息,例如是否启用了WLAN以及连接的WLAN设备的名称。
    • 连接WLAN网络和断开连接
      允许该程序与WLAN接入点建立和断开连接,以及更改WLAN网络的设备配置。
    • 查看网络连接
      允许该程序查看网络连接的相关信息,例如存在和连接的网络。
    • 展开/收拢状态栏
      允许程序展开或收起状态栏。
    • 拥有完全的网络访问权限
      允许该程序创建网络套接字和使用自定义网络协议。浏览器和其他某些程序提供了向互联网发送数据的途径,因此程序无需该权限即可向互联网发送数据。
    • 拍摄照片和视频
      此程序可随时使用相机拍摄照片和录制视频。
    • 控制振动
      允许程序控制振动器。
    • “勿扰”模式使用权限
      允许此程序读取和写入“勿扰”模式配置。
    • 读取手机状态和身份
      允许该程序访问设备的电话功能。此权限可让该程序确定本机号码和设备ID、是否正处于通话状态以及拨打的号码。
    • android.permission.QUERY_ALL_PACKAGES
    • 修改系统设置
      允许程序修改系统的设置数据。恶意程序可能会破坏的系统配置。
    • 防止手机休眠
      允许程序阻止手机进入休眠状态。
    • 运行前台服务
      允许该程序使用前台服务。
    • 对正在运行的程序重新排序
      允许该程序将任务移动到前台和后台。该程序可能不经的命令自行执行此操作。

    下载APK 3.3 MiB PGP签名 | 构建日志