Skip to content

Commit f9e0063

Browse files
committed
Merge remote-tracking branch 'origin/main'
2 parents 0330a5a + 19be61c commit f9e0063

File tree

9 files changed

+176
-127
lines changed

9 files changed

+176
-127
lines changed

CNAME

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
docs.keymapper.club

docs/faq.md

Lines changed: 20 additions & 70 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,8 @@
1-
This page serves to answer frequently asked questions about Key Mapper, and help solve any problems you may be facing.
2-
See the [Quick Start Guide](quick-start.md) for more general help with using Key Mapper.
3-
4-
## "Can I remap joysticks/dpad/mouse buttons/mouse motion?"
5-
6-
No. Here is why:
7-
8-
Joysticks are complicated to remap because they are axes, so their inputs are a range depending on how much you press the stick. It would be a lot of work to integrate them into Key Mapper. Currently, the developer cannot implement this feature. See [here](https://github.com/keymapperorg/KeyMapper/blob/master/README.md) for more information. <!--- The developer has found a way that might be able to remap them. Therefore, you can consider this a planned feature. --->
9-
<!--- as of end of 2022, early 2023, Key Mapper is no longer in development, and users should not be expecting features that will not come to fruition. --->
10-
11-
The D-pad is interpreted differently by Android to other keys. That makes it hard to remap. However, the developer has found a way that might be able to remap them. Therefore, you can consider this a planned feature.
12-
13-
Mouse buttons are not possible to remap with an accessibility service. There will never be support for them in this app. If other apps can do it, they do not work the same way Key Mapper does. If you want to remap mouse buttons, do not use Key Mapper.
1+
!!! discord "Want to ask for help?"
2+
If you've already tried troubleshooting and the tutorials aren't enough, come and ask for help in our [support server.](http://keymapper.club)
143

15-
Remapping the movement of the mouse isn't possible on unrooted Android. The developer doesn't know of a way to do this.
4+
This page serves to answer frequently asked questions about Key Mapper, and help solve any problems you may be facing.
5+
See the [Tutorials](tutorials-index.md) for more general help with using Key Mapper.
166

177
## "Key Mapper keeps randomly stopping/crashing/bugging/freezing"
188

@@ -28,13 +18,20 @@ This is important for everyone to do if you are experiencing an issue with the a
2818
If you have tried BOTH steps and Key Mapper still stops working randomly, consider how you are using the app. If you have low-end hardware, and are playing a game while using repeating key maps, it's probably not a bug. It's probably just too much for your device.
2919
If you think you are using Key Mapper in a reasonable way and still experience random crashes, ask about it in [the discord server.](http://keymapper.club)
3020

21+
## "Can I remap joysticks or mouse buttons?"
22+
23+
No. Here is why:
24+
25+
Joysticks are complicated to remap because they are axes, so their inputs are a range depending on how much you press the stick. It would be a lot of work to integrate them into Key Mapper.
26+
27+
Mouse buttons are not possible to remap with an accessibility service. There will never be support for them in this app. If other apps can do it, they do not work the same way Key Mapper does. If you want to remap mouse buttons, do not use Key Mapper.
28+
3129
## "How do I change the keyboard?"
3230

3331
There are multiple ways to do this.
3432

3533
- Tap the keyboard button at the bottom of your display when you are typing something. Not all devices have this and some devices have this feature hidden behind a setting somewhere.
3634
- Tap the notification that allows you to change the keyboard when you are typing something. Not all devices have this.
37-
- Open Key Mapper and tap "show input method picker" in the menu :material-menu:.
3835

3936
!!! tip
4037
If you want to switch between one of the Key Mapper keyboards and a normal keyboard when a device, such as a keyboard or game controller, connects/disconnects then Key Mapper can do this for you automatically. Set it up [here](user-guide/settings.md#automatically-change-the-on-screen-keyboard-when-a-device-connectsdisconnects).
@@ -44,7 +41,7 @@ There are multiple ways to do this.
4441
Key Mapper Basic Input Method (the keyboard built-in to the app) has no GUI/buttons. You can install the [Key Mapper GUI Keyboard](https://play.google.com/store/apps/details?id=io.github.sds100.keymapper.inputmethod.latin) to get a proper keyboard that can also perform Key Mapper actions.
4542

4643
## "Why don't my volume buttons work when I press them?"
47-
Give the app Do Not Disturb access in your device settings. At the top of the homescreen in the Key Mapper app there is a "Fix" button to do this.
44+
Give the app Do Not Disturb access in your device settings. At the top of the home screen in the Key Mapper app there is a "Fix" button to do this.
4845

4946
## "Why aren't the buttons on my Bluetooth device detected?"
5047
Many Bluetooth devices (like headphones) aren't supported by Key Mapper out of the box. Bluetooth keyboards work most of the time. If you are willing and able to do some simple debugging, perhaps by installing utility apps or using ADB, [join the Discord server](http://keymapper.club) and we will try our best to get it working for you.
@@ -62,75 +59,28 @@ If you *really* want to open the app in DeX, you can put DeX in developer mode:
6259
## "Why doesn't the app uninstall?"
6360
You have probably enabled the app's device administrator in your device's settings. To uninstall the app, you must turn it off. The location of the device admin settings page varies on devices but on skins close to stock-Android it is under "Security" -> "Device admin apps". If you need help, [ask in the Discord server.](http://keymapper.club)
6461

65-
## "Why can't I remap some of my Joy Con buttons?"
66-
Not all the Joy Con buttons are visible to accessibility services. There isn't anything the developer can do.
67-
68-
I tested the app on SwitchRoot Android and this is what works...
69-
70-
**Working:**
71-
72-
* ZL (Button L2)
73-
* L (Button L1)
74-
* \- (Select)
75-
* \+ (Start)
76-
* Left analog stick button (unknown keycode 0)
77-
* ZR (Button R2)
78-
* R (Button R1)
79-
* X (Button X)
80-
* Y (Button Y)
81-
* B (Button B)
82-
* A (Button A)
83-
* Home (Home)
84-
* Volume up (Vol up)
85-
* Volume down (Vol down)
86-
87-
**Not working:**
88-
89-
* Screenshot button
90-
* All D-Pad buttons (used by OS)
91-
* Both analog sticks (used by OS)
92-
* Right analog stick button
93-
* SR and SL (left joycon)
94-
* SR and SL (right joycon)
95-
* Power button
96-
97-
## "Add on-screen buttons to Key Mapper"
98-
99-
On-screen buttons are not a planned feature. In the near future, it will not be possible for apps to do this, even if some apps can right now. There is currently no work being done on adding on-screen buttons.
100-
101-
Google is removing the ability for apps to draw overlays over other apps. This is called the "system alert window" feature in the developer world. Android Go devices already can't do this.
102-
10362
## "A game doesn't detect my key maps"
10463

105-
Unsupported games
106-
- Fortnite
107-
10864
There is no guarantee that your key maps will work in games. The app isn't designed for it.
10965
Follow this guide if you are remapping buttons on a game controller to different buttons on a game controller.
11066

11167
- Connect your controller to your device.
11268
- Create a trigger for whatever button you want to remap.
11369
- Press "Add Action" and create a "Key Event" action by going to the "Key Event" tab.
114-
- Choose your keycode AND select your controller as the device in the dropdown menu.
115-
- Save the keymap and hopefully it will work.
70+
- Choose your key code AND select your controller as the device in the dropdown menu.
71+
- Save the key map and hopefully it will work.
11672

11773
## "How can I 'jump bridge' with Key Mapper? / How can I use Key Mapper for Minecraft PVP?"
11874

119-
This is not an app designed for gaming. Please look elsewhere for help with this, such as YouTube tutorials or ask in [the discord server.](http://keymapper.club) Also note that use of 'jump bridging' or very fast attacks on Minecraft servers where it is not allowed has absolutely nothing to do with the developer and it is not endorsed or encouraged. Again, this is not an app optimised for playing mobile games.
120-
121-
## "Can I use the app on Chromebook?"
122-
123-
Not all features work on Chromebook. The app is not supported on Chromebook.
124-
Key Mapper can't "tap the screen" for obvious reasons. If you want to play a game on Chromebook using Key Mapper with keyboard controls (especially *Among Us*) then you are unlikely to be able to do so.
75+
This is not an app designed for gaming. Please look elsewhere for help with this, such as YouTube tutorials or ask in [the discord server.](http://keymapper.club) Also note that use of 'jump bridging' or very fast attacks on Minecraft servers where it is not allowed is not endorsed or encouraged. Again, this is not an app optimised for playing mobile games.
12576

126-
That being said, many features should work, such as remapping keyboard buttons.
127-
128-
## "Can I remap on-screen controls to buttons with Key Mapper?"
77+
## "Can I remap buttons to on-screen controls with Key Mapper?"
12978

13079
Technically yes but it would be a horrendous gaming experience. There is an action in Key Mapper to touch the screen but Key Mapper is only allowed to tap/swipe in one place at a time. Therefore, you wouldn't be able to tap forward on an on-screen joystick and shoot at the same time for example. This is how the Android API works and there is nothing I can do to change it.
13180

132-
[Ask for help :fontawesome-brands-discord:](http://keymapper.club){: .md-button .md-button--primary }
133-
13481
## "Can I remap my Bixby button?"
13582

13683
Key Mapper doesn't yet offer a way to remap the Bixby button but if you are rooted you can remap the Bixby button to something that Key Mapper can remap. Follow this [guide](https://forum.xda-developers.com/t/remap-bixby-manually-using-all-in-one-gestures-bind-to-flashlight-root.3660378/) on XDA.
84+
85+
!!! discord "Want to ask for help?"
86+
If you've already tried troubleshooting and the tutorials aren't enough, come and ask for help in our [support server.](http://keymapper.club)

docs/includes/preamble.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
!!! failure "Something broken?"
2+
Let's try to fix that. [Go to troubleshooting.](faq.md)

docs/includes/tutorials-list.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
## Simple tutorials
2+
[:material-arrow-right: Make a volume button toggle the flashlight on the lockscreen](tutorials/simple-volume.md)
3+
4+
[:material-arrow-right: Make a floating button to simulate the 'F5' key on a keyboard]()
5+
6+
[:material-arrow-right: Make the buttons on a gamepad tap the screen for you]()
7+
8+
[:material-arrow-right: Make your side key / power button call a family member if pressed 5 times]()
9+
10+
## Advanced tutorials
11+
[:material-arrow-right: Make your volume buttons adjust the flashlight brightness on the lockscreen]()
12+
13+
[:material-arrow-right: Make a floating button to toggle your home lighting with Home Assistant]()
14+
15+
[:material-arrow-right: Make a custom modifier key on a Bluetooth keyboard]()

docs/index.md

Lines changed: 29 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -1,45 +1,50 @@
1-
# Welcome to Key Mapper Documentation
1+
# Welcome to Key Mapper Documentation
22

3-
[Key Mapper](https://github.com/keymapperorg/KeyMapper) is a free and open source Android app that can map single or multiple buttons to a custom action.
3+
[Key Mapper](https://github.com/keymapperorg/KeyMapper) is the Android app that changes what the buttons on your devices do!
4+
5+
The app intercepts key events and allows you to design your own custom actions when a certain key combination is pressed.
6+
7+
You can create on-screen floating buttons that behave like physical keys, which you can also design actions for.
8+
9+
The core functionality of the app is proudly free and open-source software (FOSS). Certain special features are available as paid add-ons.
410

511
![GitHub code size in bytes](https://img.shields.io/github/languages/code-size/keymapperorg/KeyMapper.svg)
612
![GitHub Releases Downloads](https://img.shields.io/github/downloads/keymapperorg/keymapper/total.svg?label=GitHub%20Releases%20Downloads)
713
![GitHub release](https://img.shields.io/github/release/keymapperorg/KeyMapper.svg)
814
![fdroid release](https://img.shields.io/f-droid/v/io.github.sds100.keymapper.svg)
915

10-
This wiki aims to provide users with a comprehensive guide to using and setting up Key Mapper for typical implementations. For specific help with more complicated key maps or if this wiki does not answer your questions, you can join the [Key Mapper Discord support server](http://keymapper.club) and ask for help.
16+
The Key Mapper documentation aims to provide users with a comprehensive guide to using and setting up Key Mapper for typical implementations. If you need more help, you can join the [support server](http://keymapper.club) and ask for help.
1117

12-
[Get help :fontawesome-brands-discord:](http://keymapper.club){: .md-button .md-button--primary }
13-
[Support the project :fontawesome-solid-heart:](https://ko-fi.com/sethschroeder){: .md-button }
14-
[Share your key maps :material-hand-heart:](sharing.md){: .md-button .md-button--md-primary-bg-color }
18+
--8<-- "preamble.md"
1519

16-
## Translations
20+
!!! question "Want a tutorial?"
21+
We've made some [handy tutorials](tutorials-index.md) to help you learn Key Mapper.
1722

18-
[![cs proofreading](https://img.shields.io/badge/dynamic/json?color=green&label=cs&style=flat&logo=crowdin&query=%24.progress.1.data.approvalProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-13864667-360045-update.json)](https://crowdin.com/project/key-mapper)
19-
[![es-ES proofreading](https://img.shields.io/badge/dynamic/json?color=green&label=es-ES&style=flat&logo=crowdin&query=%24.progress.3.data.approvalProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-13864667-360045-update.json)](https://crowdin.com/project/key-mapper)
20-
[![pl proofreading](https://img.shields.io/badge/dynamic/json?color=green&label=pl&style=flat&logo=crowdin&query=%24.progress.8.data.approvalProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-13864667-360045-update.json)](https://crowdin.com/project/key-mapper)
21-
[![pt-BR proofreading](https://img.shields.io/badge/dynamic/json?color=green&label=pt-BR&style=flat&logo=crowdin&query=%24.progress.9.data.approvalProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-13864667-360045-update.json)](https://crowdin.com/project/key-mapper)
22-
[![ru proofreading](https://img.shields.io/badge/dynamic/json?color=green&label=ru&style=flat&logo=crowdin&query=%24.progress.10.data.approvalProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-13864667-360045-update.json)](https://crowdin.com/project/key-mapper)
23-
[![sk proofreading](https://img.shields.io/badge/dynamic/json?color=green&label=sk&style=flat&logo=crowdin&query=%24.progress.11.data.approvalProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-13864667-360045-update.json)](https://crowdin.com/project/key-mapper)
24-
[![zh-CN proofreading](https://img.shields.io/badge/dynamic/json?color=green&label=zh-CN&style=flat&logo=crowdin&query=%24.progress.15.data.approvalProgress&url=https%3A%2F%2Fbadges.awesome-crowdin.com%2Fstats-13864667-360045-update.json)](https://crowdin.com/project/key-mapper)
23+
!!! discord "Want to ask for help?"
24+
If you've already tried troubleshooting and the tutorials aren't enough, come and ask for help in our [support server.](http://keymapper.club)
2525

26-
## Star History
26+
!!! love "Love the app?"
27+
Please [rate us on Google Play.](http://app.keymapper.club)
28+
If you would like to support the project, consider [donating](https://ko-fi.com/sethschroeder).
2729

28-
[![Star History Chart](https://api.star-history.com/svg?repos=keymapperorg/KeyMapper&type=Date)](https://star-history.com/#keymapperorg/KeyMapper&Date)
30+
--8<-- "tutorials-list.md"
2931

3032
## Our team 🧑‍💻
3133

3234
### Developers
3335

34-
- [Seth Schroeder (sds100)](https://github.com/sds100): Lead developer who started the project.
35-
- [Tino W. (pixel-shock)](https://github.com/pixel-shock): Created the actions for swiping and pinching.
36+
- [Seth Schroeder (sds100)](https://github.com/sds100): Lead developer who started the project
37+
- [Tino W. (pixel-shock)](https://github.com/pixel-shock): Created the actions for swiping and pinching
3638

37-
### Community moderators/support
38-
39-
- [Jack Ambler (jambl3r)](https://linkedin.com/in/jambl3r)
39+
### Designers
40+
- [Jack Ambler (jambl3r)](https://linkedin.com/in/jambl3r): UX, marketing, support, web
4041

4142
### Translators
4243

43-
- [HowToWhy (Czech)](https://youtube.com/channel/UCljg1FH1B_ju2D_NfqAYjDw)
44-
- [Katie Frogs (Polish)](https://github.com/KatieFrogs)
45-
- [Darío B. C. (@bydariogamer) (Spanish)](https://github.com/bydariogamer)
44+
- [HowToWhy](https://youtube.com/channel/UCljg1FH1B_ju2D_NfqAYjDw) (Czech)
45+
- [Katie Frogs](https://github.com/KatieFrogs) (Polish)
46+
- [Darío B. C.](https://github.com/bydariogamer) (Spanish)
47+
48+
## Star History
49+
50+
[![Star History Chart](https://api.star-history.com/svg?repos=keymapperorg/KeyMapper&type=Date)](https://star-history.com/#keymapperorg/KeyMapper&Date)

docs/stylesheets/extra.css

Lines changed: 30 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,35 @@
11
:root {
2-
--md-primary-fg-color: #1565c0;
3-
--md-admonition-icon--failure: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 512 512"><path d="M504 256c0 136.997-111.043 248-248 248S8 392.997 8 256C8 119.083 119.043 8 256 8s248 111.083 248 248zm-248 50c-25.405 0-46 20.595-46 46s20.595 46 46 46 46-20.595 46-46-20.595-46-46-46zm-43.673-165.346l7.418 136c.347 6.364 5.609 11.346 11.982 11.346h48.546c6.373 0 11.635-4.982 11.982-11.346l7.418-136c.375-6.874-5.098-12.654-11.982-12.654h-63.383c-6.884 0-12.356 5.78-11.981 12.654z"/></svg>')
2+
--md-admonition-icon--discord: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22M20.317%204.37a19.8%2019.8%200%200%200-4.885-1.515.074.074%200%200%200-.079.037c-.21.375-.444.864-.608%201.25a18.3%2018.3%200%200%200-5.487%200%2013%2013%200%200%200-.617-1.25.08.08%200%200%200-.079-.037A19.7%2019.7%200%200%200%203.677%204.37a.1.1%200%200%200-.032.027C.533%209.046-.32%2013.58.099%2018.057a.08.08%200%200%200%20.031.057%2019.9%2019.9%200%200%200%205.993%203.03.08.08%200%200%200%20.084-.028c.462-.63.874-1.295%201.226-1.994a.076.076%200%200%200-.041-.106%2013%2013%200%200%201-1.872-.892.077.077%200%200%201-.008-.128%2010%2010%200%200%200%20.372-.292.07.07%200%200%201%20.077-.01c3.928%201.793%208.18%201.793%2012.062%200a.07.07%200%200%201%20.078.01c.12.098.246.198.373.292a.077.077%200%200%201-.006.127%2012.3%2012.3%200%200%201-1.873.892.077.077%200%200%200-.041.107c.36.698.772%201.362%201.225%201.993a.08.08%200%200%200%20.084.028%2019.8%2019.8%200%200%200%206.002-3.03.08.08%200%200%200%20.032-.054c.5-5.177-.838-9.674-3.549-13.66a.06.06%200%200%200-.031-.03M8.02%2015.33c-1.182%200-2.157-1.085-2.157-2.419%200-1.333.956-2.419%202.157-2.419%201.21%200%202.176%201.096%202.157%202.42%200%201.333-.956%202.418-2.157%202.418m7.975%200c-1.183%200-2.157-1.085-2.157-2.419%200-1.333.955-2.419%202.157-2.419%201.21%200%202.176%201.096%202.157%202.42%200%201.333-.946%202.418-2.157%202.418%22%2F%3E%3C%2Fsvg%3E')
3+
}
4+
.md-typeset .admonition.discord,
5+
.md-typeset details.discord {
6+
border-color: rgb(88, 101, 242);
7+
}
8+
.md-typeset .discord > .admonition-title,
9+
.md-typeset .discord > summary {
10+
background-color: rgba(88, 101, 242, 0.1);
11+
}
12+
.md-typeset .discord > .admonition-title::before,
13+
.md-typeset .discord > summary::before {
14+
background-color: rgb(88, 101, 242);
15+
-webkit-mask-image: var(--md-admonition-icon--discord);
16+
mask-image: var(--md-admonition-icon--discord);
17+
}
418

19+
:root {
20+
--md-admonition-icon--love: url('data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%2024%2024%22%3E%3Cpath%20d%3D%22m12%2021.35-1.45-1.32C5.4%2015.36%202%2012.27%202%208.5%202%205.41%204.42%203%207.5%203c1.74%200%203.41.81%204.5%202.08C13.09%203.81%2014.76%203%2016.5%203%2019.58%203%2022%205.41%2022%208.5c0%203.77-3.4%206.86-8.55%2011.53z%22%2F%3E%3C%2Fsvg%3E')
21+
}
22+
.md-typeset .admonition.love,
23+
.md-typeset details.love {
24+
border-color: rgb(255, 0, 255);
525
}
6-
.accent-light {
7-
color: #d32f2f;
26+
.md-typeset .love > .admonition-title,
27+
.md-typeset .love > summary {
28+
background-color: rgba(255, 0, 255, 0.1);
829
}
9-
img[src*='#center'] {
10-
display: block;
11-
margin: auto;
30+
.md-typeset .love > .admonition-title::before,
31+
.md-typeset .love > summary::before {
32+
background-color: rgb(255, 0, 255);
33+
-webkit-mask-image: var(--md-admonition-icon--love);
34+
mask-image: var(--md-admonition-icon--love);
1235
}

0 commit comments

Comments
 (0)