abouttreesummaryrefslogcommitdiff
path: root/srcs
AgeCommit message (Collapse)AuthorFilesLines
2023-04-10Launcher activity: Fix crash on API < 28Jules Aguillon1-7/+4
2023-04-10Do not lock modifiers if sliding a keydoak1-0/+1
This unconditionally removes all pointers (touches) pressing modifiers which are not already locked, avoiding that the (currently) latched modifier will be locked aventually. This can be verfified while sliding the space bar to move the cursor left or right. Closes #319.
2023-04-02Launcher activity: Input boxJules Aguillon1-0/+32
For trying the keyboard without having to mess with an other app.
2023-03-28Refactor: Remove unecessary method KeyboardData.load_pin_entryJules Aguillon2-9/+1
2023-03-28Add a launchable explanatory activityJules Aguillon1-0/+26
This activity points to the system settings page for enabling input methods. This is purely a shortcut but is expected by many users. It could be made more useful in the future or hidden whenever the keyboard is enabled.
2023-03-13Correct pointer directionJules Aguillon1-3/+5
The previous algorithm did not cut the circle into 16 equal parts. The division by 2pi yielded numbers smaller than 16, which no longer made sense after the cast to int.
2023-03-11Add Arabic layout (#314)Mostafa Ayesh1-0/+2
* add arabic keyboard * use unicode values for special characters * add alternate layout * use arabic numbers
2023-03-11New Hindi layout (#313)Luke Videckis2-1/+58
* New Hindi layout * Update default layout for Marathi, Nepali * Consistent naming for Devanagari layouts
2023-03-05Refactor: Remove KeyboardData.CornerJules Aguillon3-104/+77
The Corner class is removed. The "localized" flag for all the corners is held in a bitfield.
2023-03-05Remove the 'edgekeys' attributeJules Aguillon1-33/+0
2023-03-03Allow 8 symbols per keyJules Aguillon4-164/+145
'Keyboard.Key' now contains an array of size 9, giving each keyvalue an index. The algorithm for finding the nearest key during a swipe now needs 16 segments, which are now calculated as an angle. The algorithm does one more interation instead of 2 more, slightly reducing the sensitivity of corner values. The 'getAtDirection' function is moved into the Pointers class to clearly separate the two systems. The 'edgekey' attribute is now obsolete but is kept for compatibility. The flag is removed internally, key index are simply translated. Similarly, the 'slider' attribute now act on keys at index 5 and 6 instead of 2 and 3.
2023-03-02Fix caps lock stopped by auto-capitalisationJules Aguillon2-3/+20
Auto-capitalisation triggers when the backspace key is used. Make sure to not remove a locked shift pointer.
2023-03-02Do not remove numpad keys from the layoutJules Aguillon1-2/+0
This removes keys like '.' and '-' from their usual place, which is pretty annoying. The feature is retained for the number row.
2023-02-26Fix miscalculated keyboard height with number rowJules Aguillon2-3/+3
The 'keysHeight' field needs to be updated. As this class is not intended to be mutable, copy the list of rows and call the constructor. Also remove an unecessary component of the keyboard height calculation.
2023-02-26Add theme "Alternative Black" (#297)JackDotJS1-0/+1
* Add alternative black theme
2023-02-12Option to switch to the previous input methodJules Aguillon5-6/+36
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 Aguillon2-3/+20
2023-02-09Added missing accent that can combine with `horn_accent` (#293)Kazoku1-0/+10
2023-02-09Vietnamese keyboard (#291)Kazoku8-1/+74
Added missing accent (horn, hook, dot below) Added layout Added accent font svg (by modified existing accent)
2023-02-08Fix arrow keys not repeatingJules Aguillon1-2/+0
The special handling of arrow keys have been removed in 854eff2. Key repeat was not starting when the key0 was empty.
2023-01-31Add theme 'ePaper' (#287)Ram Kromberg1-0/+1
* Add theme 'ePaper'
2023-01-31Add layouts 'he_il_1452_1' and 'he_il_1452_2'Ram Kromberg3-1/+66
2023-01-30Add optional number rowJules Aguillon2-3/+19
An option is added to enable an extra number row at the top of the keyboard. Digits are removed from the keyboard while the number row is visible.
2023-01-30Remove the digits when numpad is visibleJules Aguillon2-13/+42
2023-01-30Modification step for the special layoutJules Aguillon4-62/+98
Refactor, follow up of 90b7944. Add a modification step to the "special" layouts: numpad, greekmath, pin entry. Remove the apply_key0 function, which is not expressive enough. Add an enum instead of yet an other "switch_" function.
2023-01-30Apply modify_layout to text layout onlyJules Aguillon4-21/+14
Refactor. Allows to remove the 'extra_keys' and 'num_pad' flags and to implement more complicated transformations to the layouts.
2023-01-30Fix placeholder key not replacedJules Aguillon2-22/+30
Since fecc4dd, placeholder keys can't be compared by reference. Add a placeholder kind and defined placeholder values.
2023-01-29Remove the explicit hashmap in KeyValueJules Aguillon1-124/+118
Refactoring. Predefined keys are represented by a big switch statement rather than added into a hashmap.
2023-01-29Don't send event at end of slidingJules Aguillon1-0/+13
A sliding pointer going up must not cause a key event to be sent. This caused an extra cursor movement and cleared the latched modifiers.
2023-01-22Move cursor by sliding on the space barJules Aguillon3-9/+78
Send key events for the left or right arrow as the finger slides on the space bar. Can be used to select text by holding shift. Works under Termux. Events are sent linearly as the finger travels. The distance between each events is defined from the swiping distance divided by 4. 'slider="true"' can be set on a key that have 'edgekeys="true"'. 'key2' and 'key3' represent the right and left keys.
2023-01-22Remove the modulated repeatJules Aguillon3-63/+8
It allowed to modulate the repeat speed of some keys (arrow, backspace, delete) by move the finger farther or closer to the key. In practice, this wasn't pratical and doesn't seem popular. It is removed in favor of a better mechanism for moving the cursor.
2023-01-15Avoid switching back from secondary layout automaticallyJules Aguillon3-27/+64
Stay on the secondary layout after a config refresh or onStartInputView. The information is kept until the keyboard is restarted. Additionally, move tweaking the secondary layout to the Config class now that physical equality is not needed.
2023-01-15Separate option for bottom margin in landscape modeJules Aguillon2-4/+4
A large margin in portrait mode is desirable but generally not in landscape mode.
2023-01-15Separate option for horizontal margin in landscape modeJules Aguillon2-17/+25
A separate option is needed, the +25dp offset wasn't enough.
2023-01-14Add layout 'qwertz_sk'Jules Aguillon1-0/+1
Co-authored-by: Jozef Kundlak <ingjozefkundlak@gmail.com>
2022-12-31Fix dimensions going off after rotationJules Aguillon1-24/+13
Values like 'characterSize' and 'horizontalMargin' can't be fed back into the default value because they are not of the same unit. To avoid this happening again, change the way the default value is defined for every options. The 'key_height' dimension was no longer used.
2022-12-30Add keys for every context menu actionsJules Aguillon3-9/+44
The most requested keys are undo and redo. Unfortunatly redo doesn't work reliably. The other context menu actions like share, assist and autofill are added even thought they are rarely useful or implemented.
2022-12-29Fix inaccessible text layout from pinJules Aguillon2-4/+4
The "main" layout can now be pin layout. 'SWITCH_TEXT' and 'SWITCH_SECOND_BACK' don't mean to use that.
2022-12-14Fix pin entry layout not showing upJules Aguillon1-0/+2
The regular text layout was showing instead of the pin entry due to a misuse of the 'switch' syntax.
2022-12-14Fix a crash on API < 12Jules Aguillon1-1/+2
'extra_keys_subtype' can be none on API level < 12 when the "accents" option is tweaked.
2022-12-14Fix keyboard not showing up after rotationJules Aguillon1-4/+4
'setInputView()' must be called on every 'onStartInputView()', not just when the view is re-created. This is broken since bf31872.
2022-12-11Make the keyboard transparent (#252)Chasm Solacer2-4/+13
* Add option for keyboard opacity (transparency). Keyboard background, keys and pressed keys can be adjusted separately. * Make the borders transparent as well * Moved setAlphas outside drawKeyFrame to top of onDraw method
2022-12-11Handle configuration change quicklyJules Aguillon2-36/+37
setInputView() was not called when the view was re-created through refresh_config(). Also, the refresh_config() function was not able to properly set the current layout. Now keep the default layout (_localeTextLayout) and the current non-text layout (if any, _currentSpecialLayout) separately to be able to refresh them later. setInputView() is called everytime the view is created instead of by onStartInputView() specifically. The setting activity now save the preferences to the protected storage in onStop() instead of listening for onSharedPreferenceChanged.
2022-12-11Improve emoji pane layoutJules Aguillon3-63/+48
The measurement function was wrong in some situations. Set a width for columns and properly configure the GridView.
2022-12-11Fix keyboard not reacting to changed preferencesJules Aguillon1-1/+1
The callback might not be called if the "default" shared preferences is different from the shared preferences actually used. This is unexpected but seems to happen half of the time on Android 12. Since f1ce6ab, this callback is critical to update the keyboard. Restarting the application can no longer solve these issues.
2022-12-11Added qwerty_pl layout (#251)Chasm Solacer1-0/+1
* Updated pl translation * Added qwerty_pl.xml – QWERTY (Polski) layout
2022-12-10Add option 'numpad_layout'Jules Aguillon2-6/+47
Allow choosing whether to show the high or the low digits first. The numeric pane and the numpad are affected by the option.
2022-12-04Correctly handle pointer cancel eventsJules Aguillon2-7/+5
The cancel event ends the motion, it doesn't apply to a single pointer like it was previously expected.
2022-11-26Improve glyph of accent_barJules Aguillon2-9/+6
The small bar on the middle of the dotted circle looked like a small arrow. Make the bar span the whole circle, not on the middle.
2022-11-26Allow using a custom layoutJules Aguillon2-1/+26
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.