Android external keyboard remapping without root https://exkeymo.herokuapp.com/ (NOT AVAILABLE ANYMORE - you'll have to run ExKeyMo locally to create an APK with your custom layout or use a prebuilt APK).
Need more than two layouts? https://github.com/ris58h/custom-keyboard-layout
- CapsLock to Ctrl ExKeyMo-caps2ctrl.zip
- CapsLock to Ctrl and vice versa ExKeyMo-swap-caps-and-ctrl.zip
- CapsLock to Esc ExKeyMo-caps2esc.zip
- CapsLock to Esc and vice versa ExKeyMo-swap-caps-and-esc.zip
- Java (17 or higher).
Clone via Git:
git clone git@github.com:ris58h/exkeymo-web.git
Or download zip.
./mvnw clean install
java -jar target/exkeymo-web-*-jar-with-dependencies.jar
To run on a specific port use server.port
system property:
java -Dserver.port=PORT_NUMBER -jar target/exkeymo-web-*-jar-with-dependencies.jar
If you do not have Java installed, you can run the app with Docker Compose.
Use the docker-compose
or docker compose
command, depending on which one is installed:
docker compose up app
Next, browse to http://localhost:6789 to access the application.
If you want to get a public URL, obtain ngrok credentials, edit the .env
file
(NGROK_AUTHTOKEN=…
), and run ngrok using the following command:
docker compose run --rm --interactive --service-ports ngrok
Ngrok will print the public tunnel, so you can simply browse to it!
Visit http://localhost/. Documentation page http://localhost/docs.html.