abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/KeyModifier.java
AgeCommit message (Collapse)AuthorFilesLines
2024-12-07Add double grave accent (#779)Zitrone1-0/+1
2024-11-16Don't apply Fn to space bar left and rightJules Aguillon1-11/+0
"home" and "end" on the spacebar slider are not useful.
2024-09-10Define the Shift modifier using the compose mechanismJules Aguillon1-61/+4
2024-09-10Define the Fn modifier using the compose mechanismJules Aguillon1-188/+3
This removes 100Kb from the app.
2024-07-28Map Fn+Cursor_move to home/end (#728)bokidori1-0/+11
Fn modifier switches cursor_left to home key, cursor_right to end key
2024-07-25Allow Ctrl modmaps in layoutsJules Aguillon1-1/+14
The 'ctrl' modmap is different from the other modmaps as it also applies the built-in Ctrl modifier to the resulting character, even if it was first modified by the custom modmap. For example, this will map Ctrl+в to Ctrl+V (not to v): <ctrl a="в" b="v"/> This is intended to add keyboard shortcuts in non-latin layouts. A caveat is that the latin character appears on the keyboard while Ctrl is activated.
2024-06-09Refactor: Remove the KeyModifier cacheJules Aguillon1-29/+3
2024-06-09Move diacritics mapping to the compose state machineJules Aguillon1-582/+62
This replaces the switch cases in KeyModifier.java with JSON files, one for each diacritic. The number of states increases from 6727 to 7377. The apk size slightly decreases (around 3kb).
2024-05-25Circle and round trip gestures (#640)Jules Aguillon1-5/+13
This implements clockwise/anticlockwise circle and round trip gestures inspired by Messagease. The circle gestures start after a small threshold to avoid making the regular swipe too hard to aim. The gestures do: - circle: The center symbol with Shift applied, with a fallback on Fn - round trip: Same as the circle gesture but applied to a side symbol - anticlockwise circle: Nothing currently. It is intended to be made configurable per-layout in the future. The new Gesture class keeps track of what the pointer is doing while it moves on a key. It replaces the 'selected_direction' integer.
2024-05-02Hangul support (#595)Jules Aguillon1-0/+110
* Hangul support This works with two new kinds of keys (Hangul_initial and Hangul_medial) that carry a precomposed hangul syllable and act as modifiers. The hangul syllables are composed algorithmically. * Add shift layer to Dubeolsik layout
2024-05-02allow for <fn ...> in <modmap> (#626)alotbsol5551-0/+6
2024-05-02Clear cache when changing layoutJules Aguillon1-1/+8
Due to the modmap, the cache must be cleared when switching layout to or from a layout that contain a modmap. This is broken since 3f6b6fd23, which moves the modmap handling into KeyModifier.
2024-04-25Add more accented characters to KeyModifier.java (#622)JapanYoshi1-3/+67
2024-04-01refactor: Apply the modmap in KeyModifierJules Aguillon1-0/+11
This makes possible to apply other modifiers to mapped keys and ensures that the modmap really override the shift key behavior.
2024-03-18refactor: Implement Compose without global stateJules Aguillon1-11/+2
Thanks to the previous commit, a modifier key can now be more complex than just a KeyValue.Modifier. This allows a more elegant implementation of the compose key, that could be taken as a base for other features (eg. unicode hex entry, hangul) The COMPOSE_PENDING modifier is removed as keys of kind Compose_pending can act as a modifier. This has the advantage of highlighting the key that was last pressed in the sequence. Rules are added to Pointers: Non-special but latchable keys must clear latches and cannot be locked with a long press. These rules were not needed before but were intended.
2024-03-18refactor: Allow modifier of other key kindsJules Aguillon1-0/+10
Allow keys of a kind other than Modifier to be a modifier. This requires writing a compareTo function for KeyValue. Fields are compared in this order: Kind, value, flags, symbol.
2024-03-03Gujarati phonetic layout (#562)Yogesh-B1-0/+47
added shift modifier characters Add support for gujarati numerals Co-authored-by: yogesh-b <yogesh@improwised.com>
2024-02-17Compose keyJules Aguillon1-1/+14
The COMPOSE_PENDING modifier indicate whether a compose sequence is in progress. The new key of kind Compose_pending sets the current state of the sequence. The compose sequences are compiled into a state machine by a python script into a compact encoding. The state of the pending compose is determined by the index of a state.
2024-02-06Add more Russian vowels combined with acute accentJules Aguillon1-0/+1
2024-01-21Add Russian vowels combined with the acute accentJules Aguillon1-0/+2
2024-01-15Refactor: Clearer names for CHANGE_METHOD* eventsJules Aguillon1-1/+1
The keys are not renamed to retain compatibility.
2024-01-13Refactor: New namespace for preference classesJules Aguillon1-1/+1
2023-12-30Bring the voice IME chooser with a long pressJules Aguillon1-0/+2
2023-12-26Separate arabic layouts with hindu or arabic numeralsJules Aguillon1-2/+2
This reverts the Tusinian layout (1af4e45) and instead introduce a new arabic PC layout with arabic numbers. Layouts are renamed: - arab_pc => arab_pc_hindu - arab_pc_tn => arab_pc
2023-12-26Add layout attribute 'numpad_script'Jules Aguillon1-3/+3
This new attribute is now used instead of 'script' for modifying the numpad according to the selected layout's script. If not provided, it defaults to the value of 'script'.
2023-10-21Add '₽' to Russian layout and to the Fn layerJules Aguillon1-2/+3
Other currencies are moved on the Fn layer for consistency with the compose key.
2023-10-20Add page_up, page_down, home, end to extra keysJules Aguillon1-0/+4
The new keys are placed on the corner of the arrow keys. Key descriptions are added. They are removed from the Fn layer to avoid showing up twice.
2023-09-09Capitalize the first letter of custom keysJules Aguillon1-1/+2
This is more useful than turning the entire string full caps.
2023-09-03Per-script numpadJules Aguillon1-1/+104
The numeric layout and the optional right hand side numpad are modified to show the digits belonging to the script used in the current layout. The numpads are still defined as it was before. The digits are changed in `modify_numpad` if needed.
2023-08-20Add missing combining accentsJules Aguillon1-27/+34
Implement the combinations that were previously not possible and were commented out. Also remove `apply_dead_char` and `apply_combining` and make all dead-keys definitions uniform.
2023-08-20Refactor: Allow combining diacritics modifiersJules Aguillon1-320/+318
Change the API of `KeyModifier.Map_char` to allow returning a string instead of a single 16 bits char. This allows to return combining diacritics. This also gets rid of `apply_map_or_dead_char`, maps can have their own fallback.
2023-08-18Add Bitcoin symbol to Fn+b (#434)Eluc1-0/+1
2023-08-07Add Superscript and Subscript letterssdrapha1-3/+39
2023-08-05Modify arabic and persian numbers info function keysJules Aguillon1-2/+23
And add function keys placeholders in the layouts.
2023-07-29Add dagger, double dagger, section mark, and pilcrow as extra keys on ↵Ben Slusky1-0/+1
QWERTY-like layouts (#410) * Add section mark as an extra key in QWERTY-like layouts that don't have it already * Add dagger (also double dagger) as an extra key in QWERTY-like layouts
2023-07-09Add symbol ₴ to Fn+h and to UkrainianJules Aguillon1-0/+1
2023-07-02Updated/Added Czech translation + 2 common Fn keys (#387)Validbit1-0/+2
2023-06-25Add hardcoded charmaps for most accentsJules Aguillon1-10/+174
`KeyCharacterMap.getDeadChar` may not be aware of the same dead keys in older version of Android. Hardcoded charmaps are more predictable.
2023-06-04Explicitly map dead key for ñJules Aguillon1-1/+28
`KeyCharacterMap.getDeadChar` seems to not give the expected result on Android 4.0. This might affect many more dead key combinations that are not fixed by this commit.
2023-03-11New Hindi layout (#313)Luke Videckis1-0/+56
* New Hindi layout * Update default layout for Marathi, Nepali * Consistent naming for Devanagari layouts
2023-02-12Option to switch to the previous input methodJules Aguillon1-0/+10
A new option changes the "change_method" into the new "change_method_prev". It switch to the previously used input method. A long press on "change_method_prev" sends "change_method". A new section is added in the settings and existing options are moved.
2023-02-12Modify keys after a long pressJules Aguillon1-0/+6
2023-02-09Added missing accent that can combine with `horn_accent` (#293)Kazoku1-0/+10
2023-02-09Vietnamese keyboard (#291)Kazoku1-0/+61
Added missing accent (horn, hook, dot below) Added layout Added accent font svg (by modified existing accent)
2023-01-31Add layouts 'he_il_1452_1' and 'he_il_1452_2'Ram Kromberg1-0/+19
2023-01-30Fix placeholder key not replacedJules Aguillon1-11/+11
Since fecc4dd, placeholder keys can't be compared by reference. Add a placeholder kind and defined placeholder values.
2022-11-05Add combinations to 'accent_slash' and show in settingsJules Aguillon1-1/+5
The 'accent_slash' was missing in the extra keys setting. Allow to type more latin letters "with oblique stroke" or "with stroke" that visually have an oblique bar, that were not added to 'accent_bar'.
2022-11-05Add the bar diacritic dead keyJules Aguillon1-0/+28
Allows to type many of the "with stroke" or "with bar" latin letters.
2022-11-01Use '₹' instead of '₨' in HindiJules Aguillon1-0/+1
₨ is Shift+₹.
2022-10-16Fix literal tab keyJules Aguillon1-1/+1
Broken since 31d6a70d.