Jules Aguillon
7aa280b888
Tweak repeat timing for modulated keys
...
Make modulated keys repeat twice as slow by default and start repeating
twice as early.
2022-02-22 19:46:41 +01:00
Jules Aguillon
14dabb6f51
Send key events for the modifiers
...
Before sending a key event while modifiers are active, send events for
the modifier keys.
Some applications don't look at the "metaState" flags but instead keep
track of the up and down events for the modifiers.
For example, the basic text views that are in every applications
correctly handle the "metaState" flags except for one binding:
Selecting text with the arrows while pressing shift.
2022-02-22 19:32:16 +01:00
Jules Aguillon
583aa55259
Update the spanish locale
...
To use the new layout.
2022-02-22 19:08:44 +01:00
Jules Aguillon
c85e9a91d1
Improve modulated key repeat
...
Change the formula: don't use an external constant, add a state.
It's now the ratio between where the finger is at the first repeat and
where it is now.
Keep the repeat going when swiping into an other key. Currently only for
arrows: It's now possible to go from an arrow to an other without
waiting again for the key repeat timeout.
The backspace and delete keys don't work well with this.
2022-02-21 00:24:57 +01:00
Jules Aguillon
51ff795be4
Move pointer handling code to its own class
...
Separate the concerns and have a clearer interface between the two parts
of the code.
2022-02-20 13:09:39 +01:00
Jules Aguillon
632a9ac590
Localize € and £
...
Show these characters only for users that have the corresponding locale
installed (a supported eu language for €, en-GB for £).
Add these characters to most layouts.
2022-02-19 21:48:48 +01:00
Jules Aguillon
04c84a8f66
Add Ord+* = °
2022-02-19 21:01:52 +01:00
Raphael
d2570bc2ea
add-ordinal-numbers-symbol-system
2022-02-19 20:59:49 +01:00
Jules Aguillon
c05fdea765
Define the height of the keyboard relative to the screen size
...
Depending on the pixel density isn't ideal for a keyboard, which would
render differently depending on the "scaling" accessibility option.
Landscape mode needs a special values. At the same time, increase the
horizontal margin when landscape.
2022-02-13 15:58:30 +01:00
Vladimir Chernov
4e98ab7515
Add Russian layout ( #66 )
...
* Add Russian layout
Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-02-13 13:56:46 +01:00
Jules Aguillon
fda6895dc8
Use the improved font for shift, globe, enter and space
...
These glyph were available in the custom font but not used yet.
2022-02-13 13:46:37 +01:00
Jules Aguillon
94fed03a67
Scale the bottom row depending on the host layout
...
1ff8526
added a bug for layouts that weren't 10 units wide.
2022-02-13 13:20:22 +01:00
Jules Aguillon
1ff8526d24
Define the bottom row separately
...
Avoid divergences when the bottom row is modified.
2022-02-07 00:55:32 +01:00
AlexandraAlter
a76541458d
Dvorak layout ( #16 )
2022-02-07 00:06:49 +01:00
Max Schillinger
d014a7dd8c
Replace unusual return symbol
2022-02-06 23:58:17 +01:00
Max Schillinger
93edc4ac42
Allow egde keys instead of corner keys (swipe vertically/horizontally)
...
Add a new boolean parameter "edgekeys" for defining keys that have the
additional (swipe) keys on the edges (top, right, left, bottom) instead
of at the corners (top left, top right, bottom left, bottom right).
2022-02-06 23:49:43 +01:00
Jules Aguillon
95c8acc31e
Add the Meta key
...
Currently using the diamond symbol like the history meta key: https://en.wikipedia.org/wiki/Meta_key
However, this key is actually interpreted as the Super/Windows key but
Android calls it "meta" internally.
2022-02-06 23:01:35 +01:00
Jules Aguillon
2d2f0dd51d
Add options for the spacing between the keys
...
Two options: vertical and horizontal.
2022-01-30 23:55:15 +01:00
Jules Aguillon
8631dfb723
Select theme depending on system settings
...
Automatically choose between the Dark and Light themes.
2022-01-30 23:29:50 +01:00
Jules Aguillon
2f47d2400b
Improve Action key detection
...
There were two problems:
- The Action key was swapped when it shouldn't be. The flag
'IME_FLAG_NO_ENTER_ACTION' wasn't interpreted correctly for inputs
that specified both an action and this flag.
- The value 'IME_ACTION_UNSPECIFIED' should remove the Action key.
2022-01-30 12:17:31 +01:00
Jules Aguillon
7af579a1bc
Fn+Tab to send the tab character
2022-01-29 20:03:17 +01:00
Jules Aguillon
4333575bb9
Add support for the Bulgarian language and layout
...
Thanks Zdravko Iskrenov for the contribution.
2022-01-29 19:27:33 +01:00
Jules Aguillon
e0217c650d
Fix modifier not working on non-ASCII
...
Characters defined in layouts that aren't defined in KeyValue weren't
recognized as character keys. Not working with modifiers.
2022-01-29 18:56:10 +01:00
Edgars
88e21758bc
Add Latvian specific QWERTY layout
...
A customised Latvian specific QWERTY layout (QWERTY (Latvian)) was added
to access all Latvian diacritic characters with a swipe.
Additionally caron, cedille and macron accents were enabled for this
layout.
2022-01-29 17:56:25 +01:00
Jules Aguillon
e031de6b57
Globe key: Open keyboard switching dialog
...
instead of immediately switching to the next input method.
2022-01-23 19:40:45 +01:00
Jules Aguillon
cb95e99f50
Make action key labels translatable
2022-01-23 19:20:02 +01:00
Edgars
3ab2228065
Use symbols for configuration and emoji keys
...
`srcs/juloo.keyboard2/KeyValue.java` was updated to replace `Conf` with
`⛭` (`\u2699`) and `:)` with `☻` (`\u263B`).
2022-01-22 21:13:46 +01:00
Edgars
0bf7ff5f34
Add keys for Latvian
...
New accents - caron and macron - were defined and QWERTY layout was
updated to add accents for Latvian specific characters.
2022-01-20 22:01:34 +01:00
Jules Aguillon
100e0b270d
Fix crash when switching app
2022-01-20 21:22:09 +01:00
Moini
133b6ec2c1
German keyboard added ( #20 )
...
* Add German metadata translation
* Add German keyboard
Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-01-15 20:56:08 +01:00
Jules Aguillon
833dfa31bb
Fix miscalculation of the space between the keys
...
'keyVerticalInterval' was mistakenly used to compute the height of the
keyboard and the vertical position of keys.
While the code handling pointers did not use this value, the hit box of
the bottom row was shifted by several pixels.
Make sure 'keyVerticalInterval' is only used for rendering and not for
placing the keys.
2022-01-15 20:24:27 +01:00
Jules Aguillon
dfec26a93b
Swap the Enter and Action keys when needed
...
When IME_FLAG_NO_ENTER_ACTION is set.
2022-01-10 00:27:22 +01:00
Jules Aguillon
53113cadd9
Add the Action key
...
It is placed on the top-right of the enter key on every layouts.
It sends a special event (performEditorAction) instead of writing a
newline.
The "actionId" is passed through the EditorInfo object in an obfuscated
way so it's not clear whether it's using the right one.
2022-01-09 20:26:06 +01:00
Jules Aguillon
93e84ba7e9
Add the German language
...
Add the 'ß' character on the bottom-left corner of the 's' key, which is
hidden for other languages.
Co-authored-by: Moini <moini@noreply.invalid>
2022-01-09 12:49:28 +01:00
Jules Aguillon
23e59c6b09
Allow to hide more keys than just accents
...
Add the "FLAGS_LANGS" set of flags, which will be used to hide
individual keys that are not accents.
2022-01-09 12:47:47 +01:00
Jules Aguillon
2764e96eb1
Change the key combination for °
...
To Fn+*
Was previously accent^+*, which was not available for most languages.
2022-01-01 19:00:27 +01:00
Jules Aguillon
9c82c9cfdc
Improve the "precision" option
...
Now named "swiping distance". Changed to a dropdown.
2021-12-30 22:22:25 +01:00
Jules Aguillon
8bef0728ae
Turn the "precision" option to dp instead of px
2021-12-30 21:59:48 +01:00
Jules Aguillon
f69a0605a8
Add the Black theme
...
Friendly to Amoled screens.
The background of keys is the same as the background of the whole
keyboard: pure black.
Colors are also slightly stronger.
2021-12-30 00:53:48 +01:00
Jules Aguillon
29367f127d
Move the border radius from Config to Theme
...
Also, draw activated keys with a round border too.
2021-12-30 00:52:50 +01:00
Jules Aguillon
093a00c572
Add themes
...
Add a "Theme" option to choose between a dark and light theme.
The light theme uses the colors of the dark theme with the luminance
inversed.
The reloading after a configuration change is changed slightly:
- Special handling is needed when the Theme is changed (recreate the views)
- The default implementation of 'onConfigurationChanged' is used
Which triggers more refresh (but don't recreate the views)
- 'onCreateInputView' is no longer needed
2021-12-30 00:26:05 +01:00
Jules Aguillon
40b1ec63a9
Use the themes abstraction
...
Themes replace 'colors.xml' and soon will replace 'dimens.xml'.
2021-12-28 19:12:50 +01:00
Jules Aguillon
93704cca0a
Reference the "special key font" in the Theme object
...
Remove the last cast of the context.
2021-12-28 17:53:58 +01:00
Jules Aguillon
15ce200ce3
Separate "handler" code
...
As with the previous commit, remove casts of the context.
The "handler" object is referenced in the "config" object for now.
2021-12-28 17:47:18 +01:00
Jules Aguillon
0190cfc29a
Turn Config into a singleton object
...
The goal is to remove a cast of the 'context' into 'Keyboard2'.
2021-12-28 16:47:19 +01:00
Jules Aguillon
dd24ad323b
Move Theme code to its own class
2021-12-26 23:55:18 +01:00
Jules Aguillon
86655d4959
Always send the keycode for the tab key
...
Don't write the tab character and always send the keycode, which is most
probably handled by applications.
2021-12-22 20:40:39 +01:00
Jules Aguillon
3e332dbf54
Use the right keycode for the home key
...
The previous keycode wasn't the classical "home" movement key but
Android's actual home key, which has no effect when generated from the
keyboard.
2021-12-22 20:19:59 +01:00
Jules Aguillon
d721cc86d1
Avoid crash when removing a layout
...
Might happen when downgrading the app.
2021-12-19 20:04:17 +01:00
Jules Aguillon
1cfecbdf48
Auto-format Java and XML files
...
Use xmllint.
Re-indent Java files using spaces.
2021-12-19 19:44:27 +01:00
Jules Aguillon
573c13fb82
Add Swedish
...
First add the 'ring' accent.
The swedish language uses the qwerty layout and three accents (aigu,
trema, ring)
2021-12-11 17:05:49 +01:00
Jules Aguillon
58e37b484c
Fix Android's builtin shortcut not working
...
The 'repeat' field of generated key events was incorrectly set to '1'.
2021-12-11 01:03:36 +01:00
Jules Aguillon
0727ea38e9
Fix swapped page_up/page_down
2021-12-05 20:55:52 +01:00
Jules Aguillon
5e5c7ef86a
Add the euro and pound symbols
...
Fn+$ and Fn+# respectively.
2021-12-05 20:16:01 +01:00
Jules Aguillon
d8d3cf85e5
Avoid using getWidth() from onMeasure()
2021-12-05 19:38:46 +01:00
Jules Aguillon
092b8e1c15
Fix recently introduced crash
2021-05-09 12:14:56 +02:00
Jules Aguillon
1a18ea56ca
Fix NullPointerException when ready options from subtypes
...
Seems like subtypes might not match what is declared. Must protect
against that.
2021-05-09 01:07:43 +02:00
Jules Aguillon
68945ff227
Restore support for Android < 12, set minimal version to 4
...
API level 12 is required for "subtype" code introduced in 1.7.
This adds a fallback for older version, "subtype" features are not
available but the keyboard is usable.
Changet he minimal version to 4 to be able to query the API level.
Using integer constant for versions because that's how it's presented in
the documentation. Build.VERSION_CODES is WTF.
2021-05-09 00:56:59 +02:00
Jules Aguillon
7a3312fd01
Add the accents preference
...
This replaces the "disable accent keys" checkbox.
The default should work for anyone: Accents will be hidden unless the
user has the french language installed.
The value "show every accents" is useful for versions of android that
don't have subtypes.
2021-05-09 00:09:10 +02:00
Jules Aguillon
ebfb8f3b39
Move the "Ins" key under Fn
2021-05-08 15:54:55 +02:00
Jules Aguillon
6a19c7a56d
Add french quotes, en- and em-dash
...
Add more keys under Fn. French quotes are S-<, S->, Fn-" and Fn-S-".
2021-05-08 15:51:47 +02:00
Jules Aguillon
41dfa844f1
Move inverted punctuation to the tilde modifier
2021-05-08 02:03:23 +02:00
Jules Aguillon
8fb89c5c71
Improve the numeric keyboard
2021-05-08 02:00:47 +02:00
Jules Aguillon
3fbc35135e
Add a dashed circle symbol on accents
...
To help recognize them.
2021-05-07 22:15:43 +02:00
Jules Aguillon
1e6e3ab22a
Fix layout not updating after rotation
...
Reset the layout on onStartInputView.
2021-05-07 22:10:26 +02:00
Jules Aguillon
abfa1cc8de
Add '¿' and '¡'
2021-05-01 23:57:40 +02:00
Jules Aguillon
5ad4450545
Better placement of accents on QWERTY
...
Also change internal names for accents.
2021-05-01 23:26:44 +02:00
Jules Aguillon
c6a54ed017
Fix rendering of the first label
...
Caused by a shared Paint not correctly resetted.
2021-05-01 23:26:34 +02:00
Jules Aguillon
f287ff2e09
Reset keyboard when finishing
...
This may cause key repeat continuing for a bit after the keyboard
closes.
2021-05-01 22:47:22 +02:00
Jules Aguillon
743b10165c
Highlight activated keys
2021-04-29 01:33:57 +02:00
Jules Aguillon
ec5cda0ce6
Slightly reduce the size of the bottom row
2021-04-29 01:11:18 +02:00
Jules Aguillon
ec1cd9473a
Improve the azerty layout
...
- More intuitive placement of (), [], {} and <>.
- Move accent keys into the top-left corner, on a key they may be used with.
- Some minor changes.
2021-04-29 01:06:51 +02:00
Jules Aguillon
3f0c18612f
Fix modifiers
...
Fixes:
- Toggling off a modifier was not possible in the corners (eg. accents).
- Modifiers on the same key can't be activated at the same time.
- Characters on the same key as a modifier weren't working properly.
2021-04-29 01:06:51 +02:00
Jules Aguillon
d00576ac2d
Add the "layout" option again
...
Some versions of android don't allow to configure several languages.
2021-04-29 01:06:51 +02:00
Jules Aguillon
c86a119448
Tweak dimensions
...
Increase a bit labels size and reduce empty space between keys.
2021-04-25 00:12:16 +02:00
Jules Aguillon
f7c062d0cb
Scale down larger symbols
2021-04-24 23:38:29 +02:00
Jules Aguillon
9bb2642e2c
Add the label size option
2021-04-24 23:22:25 +02:00
Jules Aguillon
2dbb3dc28f
Allow different sizes
...
Improve Paint code.
2021-04-24 23:18:16 +02:00
Jules Aguillon
87b237494a
Add some missing keycodes
...
Allows to sent ctrl and alt combinations. Notably the ] character.
2021-04-21 23:25:14 +02:00
Jules Aguillon
66b7b532c9
Disable vibration when holding keys
2021-04-20 00:35:52 +02:00
Jules Aguillon
5dec9c1215
Add a setting for precise repeat
2021-04-20 00:34:21 +02:00
Jules Aguillon
83b3212d3d
Add precise repeat on some keys
...
Repeat speed increase as the pointer is away from the initial position.
On arrows, backspace and delete.
2021-04-20 00:10:45 +02:00
Jules Aguillon
d04e078816
Add more characters under accents
...
Notably subscript and superscript digits and some quote characters.
2021-04-19 23:10:00 +02:00
Jules Aguillon
2200e2f313
Move some keys under the Fn modifier and move it on the bottom row
2021-04-19 22:29:20 +02:00
Jules Aguillon
471375d50c
Add function keys
...
Add the Fn modifier that change the digits into F1 to F10.
2021-04-18 23:58:35 +02:00
Jules Aguillon
2f8eae628f
Fix crash when no current input binding
...
Broken recently. Restore previous code
2021-04-18 23:31:59 +02:00
Jules Aguillon
81803c406a
Separate handling of modifiers from KeyValue class
...
KeyValue defines an ADT and some of its values, it now contains public
final fields and no internal logic.
KeyModifier handles modifiers and accents and creates new instances of
KeyValue when needed.
This operation is now properly cached.
2021-04-18 23:28:49 +02:00
Jules Aguillon
67d3a99a92
Cleanup key definitions
...
Remove repeated code and remove side-effects from the constructor.
2021-04-18 21:58:13 +02:00
Jules Aguillon
5ed937a654
Render the emoji key as ":)"
...
In order to remove the colors in the rendering.
2021-04-18 00:56:20 +02:00
Jules Aguillon
f8bce500ff
Hide the input switching key if it's not needed
...
Android has a new way of switching between input methods and this key
need to be hidden in most cases.
2021-04-18 00:55:31 +02:00
Jules Aguillon
1421bccc7b
Remove fixed keyboard width
...
Remove the constant of keys per rows. Add the 'shift' attribute to
declare eventual alignment/blanks in layouts.
2021-04-17 23:56:51 +02:00
Jules Aguillon
ca07bff133
Use subtypes to choose layout
...
This removes the "layout" setting. Every layouts that the user could use
will appear in the global settings.
2021-04-15 23:56:34 +02:00
Jules Aguillon
c22ca7302c
Stateless KeyboardData class
...
It was a pain to use. It was also a pain to write this though.
2021-04-15 23:23:31 +02:00
Jules Aguillon
eac74d3f22
Add an option to toggle accent keys
...
These keys are not useful at all in English. A new option allows to hide
them, [false] by default.
2021-04-13 02:00:08 +02:00
Jules Aguillon
0b1befcc88
Fix layout pref under debug builds
...
Remove the use of [getIdentifier] because it requires the current
package name to be passed, which can't be found reliably since the
change in build system.
2021-04-13 01:58:25 +02:00
Jules Aguillon
a165a0ab2e
Update the list of emojis
...
Take the list from https://unicode.org/Public/emoji/13.1/emoji-test.txt
Also change the list of groups, from the same source.
2021-01-17 00:20:09 +01:00
Jules Aguillon
8dc085048a
Remove the preview popup
...
This was a half-finished feature:
- Dangerous when typing passwords
- Caused crash on some devices
- Ugly (on its own but also blinking when sliding and not fixed in size)
2021-01-05 00:18:24 +01:00
juloo
0b94395233
switchToNextInputMethod key
2016-12-11 22:45:58 +01:00
jaguillo
162f17a7a0
Move configs to Config object
2015-10-29 12:49:40 +01:00
jaguillo
ffba149934
preview_enabled settings
2015-10-28 22:54:38 +01:00
jaguillo
da72455d35
Improve preview popup
2015-10-28 20:56:28 +01:00
jaguillo
8fbe456074
A bit of style
2015-10-28 17:47:12 +01:00
jaguillo
16763a5f1b
Show preview popup
2015-10-28 16:15:19 +01:00
jaguillo
804e9a7adc
Fix some bugs + Try to show a preview popup
2015-10-28 00:39:20 +01:00
jaguillo
8716801261
Improve init of emoji pane
2015-10-27 15:05:50 +01:00
jaguillo
ed53b1a23b
Fix crash + Fix emoji type buttons
2015-10-27 14:39:27 +01:00
jaguillo
2c859f30a6
More emoji category + Fix last emoji used saving
2015-10-26 20:48:07 +01:00
jaguillo
e95ccbec00
Last used emoji
2015-10-26 14:19:46 +01:00
jaguillo
8bd0214e26
Emoji pane
2015-10-24 16:32:49 +02:00
jaguillo
db20d52884
Start with emojis
2015-10-23 14:22:43 +02:00
jaguillo
7fb89b0c95
Stop special handling of delete keys
2015-10-17 00:54:28 +02:00
jaguillo
6bb257fd75
Special key font + Esc key
2015-10-13 00:02:34 +02:00
jaguillo
03cc0a5429
Key to switch to numeric pane
2015-10-11 15:30:39 +02:00
jaguillo
549c753450
Perf improvement (small)
2015-10-03 00:19:17 +02:00
jaguillo
700adbded6
Mini fix
2015-10-01 17:11:52 +02:00
jaguillo
81ec226fcf
Add margin_bottom, key_height and horizontal_margin configs
2015-09-30 22:48:16 +02:00
juloo
373f1b11f1
Add trema accent + Add accents to azerty
2015-08-18 01:33:50 +02:00
juloo
d81509d7ec
Accent
2015-08-18 01:25:47 +02:00
juloo
8f3d1a4d38
Fix key repeat on meta keys and empty keys
2015-08-18 00:17:20 +02:00
juloo
9d614bc4fe
More settings
2015-08-08 23:07:38 +02:00
juloo
6f09c971c0
SideBarPreference + Continuing settings
2015-08-08 22:33:06 +02:00
juloo
fe432fd3ba
Conf key open SettingsActivity
2015-08-08 17:58:03 +02:00
juloo
153c384990
Start SettingsActivity
2015-08-08 16:47:22 +02:00
juloo
c29a2a9c9c
Todo settings
2015-08-08 15:26:23 +02:00
juloo
f22452488d
Move logcat
2015-08-07 01:49:37 +02:00
juloo
117e4a3d4f
Improve key repeat
2015-08-05 01:30:56 +02:00
juloo
bee4334626
logcat.py
2015-08-04 21:07:28 +02:00
juloo
40885f5760
Add icons + Nothing
2015-08-04 17:55:48 +02:00
juloo
1be1ec7a4b
Add qwerty layout + popup to change layout
2015-08-03 20:01:05 +02:00
juloo
b32f2ce3f3
Fix del key and keyEvent keys
2015-08-03 15:58:13 +02:00
juloo
e9df9bc299
Repeat key on long press
2015-08-03 15:11:11 +02:00
juloo
7dd5845883
Vibrate
2015-08-03 00:01:04 +02:00
juloo
3d3aa4bc98
Nothing
2015-08-02 23:36:22 +02:00
juloo
6737bda402
Fix keys drawing
2015-08-02 22:59:25 +02:00
juloo
3909976b85
Insert key
2015-08-02 21:36:19 +02:00
juloo
85eb9daa46
Send Ctrl/Alt(/Shift) to the application
2015-08-02 21:32:11 +02:00
juloo
12a04ae2c7
Lockable keys
2015-08-02 20:21:53 +02:00
juloo
1115a34a19
Fix mini crash + Can disable on keys
2015-08-02 19:56:23 +02:00
juloo
5bbdbcd522
Implement shift key
2015-08-01 23:54:38 +02:00
juloo
349f0bee6f
Send keys to the application
2015-08-01 21:36:40 +02:00
juloo
3b7141e3a0
Stop storing keydown data in KeyboardData.Key
2015-08-01 18:21:10 +02:00
juloo
0942556bad
Improve KeyValue
2015-08-01 16:33:30 +02:00
juloo
2537a7b221
Replace key_margin with key_bg_padding + Add {vertical,horizontal}_margin
2015-08-01 01:36:41 +02:00
juloo
de114c43c6
Add more keys + (tmp) change KeyValue
2015-08-01 00:49:09 +02:00
juloo
90cd2e1c7b
Use dimens.xml instead of constants
2015-07-31 23:52:47 +02:00
juloo
56612121f8
Add sub more subkeys + Better drawing
2015-07-31 23:17:07 +02:00
juloo
45ea215bb6
Create KeyboardData class and handle move on keys
2015-07-31 20:48:19 +02:00
juloo
702ae9d0c1
Handle multi touch event
2015-07-31 01:14:35 +02:00
juloo
8265c1c099
Try to handle multi touch event
2015-07-30 22:30:29 +02:00
juloo
90167a986b
Initial commit
2015-07-30 20:14:55 +02:00