abouttreesummaryrefslogcommitdiff
diff options
context:
space:
mode:
authorJules Aguillon2023-04-15 16:11:23 +0200
committerJules Aguillon2023-04-15 16:11:23 +0200
commit02f4795d2d59f145b468b744d3a2de13f3b1f9af (patch)
tree0c2e46d10d67ada06fa534f65ab8f912c4269600
parent73737e514885c16892e805375318c70ec75453cd (diff)
downloadunexpected-keyboard-02f4795d2d59f145b468b744d3a2de13f3b1f9af.tar.gz
unexpected-keyboard-02f4795d2d59f145b468b744d3a2de13f3b1f9af.zip
Update contributing guidelines
-rw-r--r--CONTRIBUTING.md36
1 files changed, 26 insertions, 10 deletions
diff --git a/CONTRIBUTING.md b/CONTRIBUTING.md
index ff550c1..30f7950 100644
--- a/CONTRIBUTING.md
+++ b/CONTRIBUTING.md
@@ -37,7 +37,7 @@ gpg -c --armor --pinentry-mode loopback --passphrase debug0 --yes "debug.keystor
A file will be generated inside the local `_build/` folder, called `debug.keystore.asc`
-You can copy the content of this file, and with that, paste it into a new github secret in your repo settings.
+You can copy the content of this file, and with that, paste it into a new github secret in your repo settings.
The secret must be named `DEBUG_KEYSTORE`
@@ -52,11 +52,8 @@ And finally, install the application with:
make installd
```
-The debug version of the application won't be removed, both versions will stay
-installed at the same time.
-
-The application must be enabled in the settings:
-System > Languages & input > On-screen keyboard > Manage on-screen keyboards.
+The released version of the application won't be removed, both versions will
+be installed at the same time.
## Debugging the application: INSTALL_FAILED_UPDATE_INCOMPATIBLE
@@ -94,9 +91,14 @@ The layout must also be referenced in `srcs/juloo.keyboard2/Config.java` in
A programming layout must contains every ASCII characters.
The current programming layouts are: QWERTY, Dvorak and Colemak.
-Keys with a name starting in `loc ` are hidden unless they are configured for
-the user's installed languages in `res/xml/method.xml`. These keys are optional
-and will be added automatically when necessary.
+See for example, Dvorak, added in https://github.com/Julow/Unexpected-Keyboard/pull/16
+
+It's best to leave free spots on the layout for language-specific symbols that
+are added automatically when necessary.
+These symbols are defined in `res/xml/method.xml` (`extra_keys`).
+
+It's possible to place extra keys with the `loc` prefix. These keys are
+normally hidden unless they are needed.
Some users cannot easily type the characters close the the edges of the screen
due to a bulky phone case. It is best to avoid placing important characters
@@ -116,7 +118,11 @@ Supported locales are defined in `res/xml/method.xml`.
The attributes `languageTag` and `imeSubtypeLocale` define a locale, the
attribute `imeSubtypeExtraValue` defines the default layout and the dead-keys
-and other extra keys to show.
+and other extra keys to show.
+
+The list of language tags (generally two letters)
+and locales (generally of the form `xx_XX`)
+can be found in this stackoverflow answer: https://stackoverflow.com/a/7989085
### Translations
@@ -134,3 +140,13 @@ before a release and older ones are never shown to anyone currently.
The app name might be partially translated, the "unexpected" word should remain
untranslated.
+
+### Adding key combinations
+
+Key combinations are defined in `srcs/juloo.keyboard2/KeyModifier.java`.
+For example, keys modified by the `Fn` key are defined in method
+`apply_fn_char`.
+
+Keys with special meaning are defined in `KeyValue.java` in method
+`getKeyByName`. Their special action are defined in `KeyEventHandler.java` in
+method `key_up`