abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyboardData.java
AgeCommit message (Collapse)AuthorFilesLines
2022-12-10Add option 'numpad_layout'Jules Aguillon1-2/+7
Allow choosing whether to show the high or the low digits first. The numeric pane and the numpad are affected by the option.
2022-11-26Allow using a custom layoutJules Aguillon1-1/+22
Add an option for specifying an XML layout description as a string. The option is a bit rough at the moment: - No documentation, users have to be aware of the keyboard's code to use this option. - No error are shown, the layout will fallback to qwerty on error.
2022-11-26Refactor: Use XmlPullParser directlyJules Aguillon1-20/+36
XmlResourceParser is convenient but cannot be easily instantiated.
2022-11-26Refactor: Pass layout as a KeyboardData instead of IDJules Aguillon1-11/+26
Parse layouts sooner.
2022-11-13Fix localized keys appearing on secondary layoutJules Aguillon1-3/+1
2022-10-24Draw letter indication on the pin layoutJules Aguillon1-6/+11
There is no way to type letters on the pin layout, the indication are decoration only. Use the E.161 standard.
2022-10-24Add the pin entry layoutJules Aguillon1-1/+2
The layout is used for phone number and datetime input boxes as well as some numbers. It is easier to use when the full numeric layout is not needed.
2022-10-23Add optional NumPadGero Streng1-5/+44
Shows a NumPad depending on preference: Never/Landscape/Always
2022-09-24Add more possible locations for extra keysJules Aguillon1-0/+6
Avoid dropping some keys on crowded layouts.
2022-07-24Automatic capitalisation at beginning of sentencesJules Aguillon1-0/+30
Keep track of end-of-sentence characters while typing and automatically enable shift when appropriate. The last few characters just before the cursor need to be queried in some cases: Begin of input, cursor has moved or text is deleted. This might have a performance cost. This normally only enable shift but it also needs to disable shift when the cursor moves.
2022-06-24Fix localized key not in predefined positionJules Aguillon1-33/+90
The "loc " prefix for predefining a place for an "extra key" was broken since 31d6a70. The FLAG_LOCALIZED flag cannot be used anymore, as adding it to any key would turn it into a different key that wouldn't be recognized by parts of the code comparing the keys (placing the extra keys). Add an other layer in KeyboardData to store such informations.
2022-06-06Don't add extra keys to the numeric paneJules Aguillon1-13/+19
2022-05-29Automatically place localized keys on the layoutsJules Aguillon1-18/+77
Layouts no longer need to mention every localized keys and dead keys. They are now placed automatically starting from the second row on the bottom-right corner. The "loc " prefix is not removed to still be able to define a more optimal and consistent placement for some extra keys (eg. 'ß' near 's'). Programming layouts no longer need to place every dead keys.
2022-05-08Better handling of removed keys and swipe getureJules Aguillon1-20/+4
The "closest key" logic must be careful not to reveal keys removed by a modifier. Must check [_handler.onPointerSwipe] for every candidate values. [selected_value] is changed back to [selected_direction]. This adds a new bug: When the direction change, the selected value might not change but a vibration will be triggered anyway.
2022-05-08Improve nearest key computationJules Aguillon1-76/+32
getAtDirection was too hard to maintain and might contain bugs. Change slightly the meaning of directions and implement a the nearest key calculation as a loop.
2022-05-08only vibrate when the swipe key changesRodrigo Batista de Moraes1-10/+12
2022-05-08use the closest swipe key on swipeRodrigo Batista de Moraes1-6/+90
fix a direction
2022-04-16Fix compatibility with Android 6Jules Aguillon1-1/+4
Android 6 uses Java 1.7, the only incompatible feature in use was lambdas.
2022-03-19Allow modifiers to hide keysJules Aguillon1-0/+12
Modifiers can temporarily remove a key from the layout by returning 'null'. Make sure pointer handling code handle these modified keys gracefully and doesn't trigger a key event and a vibration for the removed key.
2022-03-05Improve the code for dynamic updates of the layoutJules Aguillon1-65/+4
2022-02-13Scale the bottom row depending on the host layoutJules Aguillon1-10/+31
1ff8526 added a bug for layouts that weren't 10 units wide.
2022-02-07Define the bottom row separatelyJules Aguillon1-57/+76
Avoid divergences when the bottom row is modified.
2022-02-06Allow egde keys instead of corner keys (swipe vertically/horizontally)Max Schillinger1-3/+12
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-01-10Swap the Enter and Action keys when neededJules Aguillon1-0/+26
When IME_FLAG_NO_ENTER_ACTION is set.
2022-01-09Add the Action keyJules Aguillon1-11/+21
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.
2021-12-19Auto-format Java and XML filesJules Aguillon1-49/+49
Use xmllint. Re-indent Java files using spaces.
2021-04-29Slightly reduce the size of the bottom rowJules Aguillon1-31/+39
2021-04-18Separate handling of modifiers from KeyValue classJules Aguillon1-2/+2
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-18Hide the input switching key if it's not neededJules Aguillon1-0/+12
Android has a new way of switching between input methods and this key need to be hidden in most cases.
2021-04-17Remove fixed keyboard widthJules Aguillon1-22/+20
Remove the constant of keys per rows. Add the 'shift' attribute to declare eventual alignment/blanks in layouts.
2021-04-15Stateless KeyboardData classJules Aguillon1-68/+110
It was a pain to use. It was also a pain to write this though.
2021-04-13Add an option to toggle accent keysJules Aguillon1-0/+21
These keys are not useful at all in English. A new option allows to hide them, [false] by default.
2015-08-01Stop storing keydown data in KeyboardData.Keyjuloo1-26/+0
2015-08-01Replace key_margin with key_bg_padding + Add {vertical,horizontal}_marginjuloo1-2/+2
2015-07-31Create KeyboardData class and handle move on keysjuloo1-0/+139