abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Config.java
AgeCommit message (Collapse)AuthorFilesLines
2023-07-30Allow more than 2 layoutsJules Aguillon1-25/+11
The two layout selection options are replaced by a ListGroupPreference that allow to enter an arbitrary amount of layouts. The "switch_second" and "switch_second_back" keys are replaced by "switch_forward" and "switch_backward", which allow to cycle through the selected layouts in two directions. Layouts are changed to place these two key on the space bar. The backward key is not shown if there's only two layouts.
2023-07-29Add option to disable pin entry layoutJules Aguillon1-0/+2
The pin entry layout might be inferior for some usecases and people might be more used to the numeric layout.
2023-07-19Add custom extra keys preferenceJules Aguillon1-0/+4
This is a new section in the extra keys option that allows to enter arbitrary strings which are then added to the keyboard. A new string is needed for the title of the section, Android's icons and strings are used as much as possible to avoid adding more strings. Keys are stored in the preferences as a JSON array of strings.
2023-07-09Refactor: Don't define extra keys in xmlJules Aguillon1-1/+1
The current approach is hard to maintain, for example the last key "autofill" was not displayed. This implements a PreferenceGroup that contains the check boxes for every extra keys without involving listing the preferences in settings.xml. A custom layout is used to remove the 'title' text view. The list of extra keys is moved into the new class. 'ExtraKeyCheckBoxPreference' becomes a nested class.
2023-06-25Use generated arrays in Config.layout_of_stringJules Aguillon1-39/+23
This function is no longer an hardcoded list of layout ids. It's replaced by a linear scan of the previously generated array and a new corresponding array of resource ids.
2023-06-25Standard layout names (#386)Jules Aguillon1-36/+36
The names are comprised of: script, layout name, country code. Co-authored-by: grim <verdastelo9604@hotmail.com>
2023-06-25Added Romanian layout and translations with special romanian characters (#358)Vasile Chelban1-0/+1
Added Romanian characters to the keyboard layout and changed the positioning corner for the secondary characters that were conflicting with the newly-introduced romanian characters Added Romanian translations
2023-06-25Add Bengali Provat Layout (#357)Sabbir1-1/+2
* Add Bengali Provat Layout I added bengali_provat layout and renamed old bengali to actual layout name.
2023-06-24Per-script extra keysJules Aguillon1-2/+2
Allows to define a locale's script in 'method.xml' and use that to add the extra keys for a locale to layouts of the same script only. A locale of an undefined script will add its extra keys to every layouts. A layout of an undefined script will have the extra keys of all the enabled locales.
2023-06-10Fix `_localeTextLayout` null on API < 12Jules Aguillon1-3/+5
On API level < 12 or on some rare cases, `refreshSubtypeLayout` was not called, making `_localeTextLayout` uninitialized. This might also happen if `getExtraValueOf` returns an invalid layout name. eg. `method.xml` contains an invalid layout name.
2023-06-04Add Kurdish Layout (#353)KuRa KuRd1-0/+1
Add Kurdish Keyboard Layout Qwerty Based Without Shift.
2023-06-03Refactor: Remove dimens used as option defaultsJules Aguillon1-13/+8
The conversion into px was done twice, leading to wrong values.
2023-06-03Hide the voice typing key if no suitable IMJules Aguillon1-0/+4
Implemented similarly to the IM switching key.
2023-06-03More control over vibrationJules Aguillon1-2/+3
The newer haptic feedback API that is used instead of the vibrator service since ef03dfe doesn't work for everyone. The new vibration option allow to choose both the newer API ("system") and the older API ("strong", "medium", "light").
2023-04-23Pull request to add new layout Persian (#342)Reza Hosseinzadeh1-0/+1
* Add persian layout * Change layoutId_of_string to layout_of_string * Add translation for Persian
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 Videckis1-1/+2
* New Hindi layout * Update default layout for Marathi, Nepali * Consistent naming for Devanagari layouts
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-26Add theme "Alternative Black" (#297)JackDotJS1-0/+1
* Add alternative black theme
2023-02-12Option to switch to the previous input methodJules Aguillon1-1/+7
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-09Vietnamese keyboard (#291)Kazoku1-0/+1
Added missing accent (horn, hook, dot below) Added layout Added accent font svg (by modified existing accent)
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 Kromberg1-0/+2
2023-01-30Add optional number rowJules Aguillon1-0/+8
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 Aguillon1-1/+6
2023-01-30Modification step for the special layoutJules Aguillon1-22/+47
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 Aguillon1-1/+1
Refactor. Allows to remove the 'extra_keys' and 'num_pad' flags and to implement more complicated transformations to the layouts.
2023-01-22Move cursor by sliding on the space barJules Aguillon1-0/+2
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 Aguillon1-2/+0
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 Aguillon1-1/+18
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 Aguillon1-2/+2
A large margin in portrait mode is desirable but generally not in landscape mode.
2023-01-15Separate option for horizontal margin in landscape modeJules Aguillon1-12/+20
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-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-11Make the keyboard transparent (#252)Chasm Solacer1-2/+7
* 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-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 Aguillon1-4/+40
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-0/+4
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: Pass layout as a KeyboardData instead of IDJules Aguillon1-33/+34
Parse layouts sooner.
2022-11-13Refactor: Move editing code from to KeyEventHandlerJules Aguillon1-4/+4
Remove the code dealing with InputMethodConnection from 'Keyboard2' and move it into 'KeyEventHandler', where more editing actions can now be implemented. Autocapitalisation is also moved, the IReceiver interface is simplified.
2022-11-13Don't depend on dpi values in swipe distanceJules Aguillon1-5/+8
The dpi values "xdpi" and "ydpi" can have wildly different values on different devices. The new computation defines a baseline and only take into account the dpi values as a ratio. On a 480dpi screen (in both directions), this decrease the value by about 18%. This new distance felt better during testing.
2022-11-13Allow switching quickly between two layoutsJules Aguillon1-10/+9
A new option allow to choose a secondary layout, the switching key is placed on the top edge of the space bar. The "Programming layout" option was basically doing that but it was possible to choose from a few layouts only. It is improved and renamed. The 'LayoutListPreference' allows setting the string for the first entry but otherwise share the rest of the array. Add nice icons from materialdesignicons.
2022-11-11Add option for brightness of labelsJules Aguillon1-0/+3
The brightness value is used as the alpha value when drawing the labels.
2022-11-11Direct-boot aware preferencesJules Aguillon1-29/+29
Store preferences in device protected storage, which is available before the device is unlocked. The keyboard was crashing when trying to access the encrypted preferences. The emoji pane uses a separate preferences file, the old data is lost. The SettingsActivity can't easily use the new preferences storage. Instead, it continues to use the "default" preferences store, which is copied back to the protected storage when needed.
2022-11-06Remove option "Lockable modifiers"Jules Aguillon1-13/+8
2022-11-01Add the 'qwertz_de' layoutJules Aguillon1-8/+9
Similar to 'qwertz' but is wider to show äöü on dedicated keys. Some punctuations are rebalanced to use the space better. The default layout for de_DE is changed.
2022-10-23Add optional NumPadGero Streng1-0/+7
Shows a NumPad depending on preference: Never/Landscape/Always
2022-10-15Basic greek layout. (#207)lpv1-0/+1
* Basic greek layout.
2022-10-11Added Hindi language layout (#211)Raj90398525371-0/+1
* Hindi Keyboard Layout Hindi keyboard layout added Basic symbols like brackets, colons etc are useful. This includes ( ) { } [ ] \ / ÷ - + = ! % : ; . , ?