abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Config.java
AgeCommit message (Collapse)AuthorFilesLines
2024-02-14Don't invert the pin entry layoutJules Aguillon1-0/+21
The pin entry layout shouldn't be inverted as the letter indications would be meaningless and the order would be opposite to what the option specifies. The enter and action key are swapped as the automatic swapping is also removed.
2024-02-10Fix various linter warningsJules Aguillon1-1/+1
Among others: - Use `apply` instead of `commit` when saving shared preferences. - Avoid inlined Api - Remove unused resources
2024-02-10Drop support for Android versions below 3.0Jules Aguillon1-7/+3
Android 3.0 (API level 11) was released in Feb 2011. These versions were already unsupported due to unavoidable calls to: - MotionEvent.getActionMasked() (API 8) And avoidable calls to: - SharedPreferences.Editor.putStringSet() (API 11)
2024-02-10Custom border settings (#524)RetrogisusDEV1-0/+7
2024-01-28Redefined the key margin options in percentJules Aguillon1-9/+6
Define the key margin options relative to the baseline dimensions of keys. This removes the doubling of the horizontal margin in landscape mode.
2024-01-26Send down event for modifiers on timeJules Aguillon1-1/+2
This allows to use modifiers in combination with other inputs like a mouse click, for example under termux-x11. The key down event and notification about modifiers changing are sent down to KeyEventHandler. A mutable state remember for which modifier down events have been sent. When pressing down a modifier with one finger and typing with the other, it might appear that the modifier is released after the first time an other key is pressed and then pressed and released for the following keys. This prevents unintentionally type two modified keys instead of one when the second key is pressed while the other is not yet released.
2024-01-15Always show the keyboard switching keyJules Aguillon1-4/+0
Android's shouldOfferSwitchingToNextInputMethod() method might return false when an other IME is installed, perhaps when the other IME doesn't specify android:supportsSwitchingToNextInputMethod="true".
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/+4
2024-01-10prefs: Show custom layout names if providedJules Aguillon1-1/+1
Show the name of custom layouts in the list if it's provided using the `name` attribute. This should make managing several custom layouts easier.
2024-01-09Revert "Remove the vibration settings"Jules Aguillon1-3/+6
This reverts commits ef03dfed5c802a855c4655204eee39a8769cfed7 and ff01678ba688778d67f824a0be56634974c1b0e8. The "vibration duration" slider is bought back. The "vibration enabled" option is replaced by "custom vibration", which switch between the system haptic feedback or the custom vibration. The slider is greyed when "custom vibration" is unchecked and is allowed to have a value of 0 to disable vibrations within the app. The intermediate values "light", "medium" and "strong" are removed and no migration of the setting is made.
2023-12-30Bring the voice IME chooser with a long pressJules Aguillon1-0/+1
2023-12-30Voice IME chooser popupJules Aguillon1-0/+5
Bring a popup for choosing the voice IME when the voice key is pressed for the first time or the list of voice IMEs installed on the device change. A preference stores the last selected IME and the last seen list of IMEs.
2023-12-26Add layout attribute 'numpad_script'Jules Aguillon1-6/+5
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-11-19Separately persisted current layout in landscape modeJules Aguillon1-4/+18
Remember the selected layout in portrait and landscape mode independently. This allows to define a layout specific to landscape without having to switch manually.
2023-11-19Persist current selected layoutJules Aguillon1-0/+10
2023-11-19Add Desert and Jungle themesRetrogisusDEV1-0/+2
2023-09-15Refactor: Preferred positions for extra keysJules Aguillon1-9/+11
The new PreferredPos class represents where an extra key should be placed Currently used to place keys at the same positions they were placed before.
2023-09-10Refactor: Compute key positions in layoutsJules Aguillon1-2/+2
`KeyboardData.getKeys()` now returns a map of the keys present on the layout to their position. Positions are the row, column and swipe direction. The computed map is cached in the KeyboardData object as it might be accessed later by `findKeyWithValue`, which now do less work.
2023-09-03Per-script numpadJules Aguillon1-6/+11
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-09-03Consistent layout for optional numpadJules Aguillon1-1/+1
Modify the optional right hand numpad the same way as the numeric layout.
2023-08-26Disable automatically Shift when pressing CtrlJules Aguillon1-0/+1
Automatic capitalisation might interferes with keyboard shortcuts.
2023-08-16Fix inconsistent initial spacing between keysJules Aguillon1-1/+1
Settings defined with `get_dip_pref` had a wrong default value on first launch. The "right" default value was used after the shared preferences are populated.
2023-08-16Migrate layouts preferencesJules Aguillon1-0/+42
The new `layouts` preference replaces three previous preferences: layout second_layout custom_layout Add a preference migration function, which first migration is to migrate layouts into the new preference. The migration must also be called from the SettingsActivity as it might use a different preference store due to the boot-aware preference copy.
2023-08-16Allow multiple custom layoutsJules Aguillon1-37/+1
This merges the "Layouts" option with the "Custom layout" option. A custom layout becomes an item in the "Layouts" list among the other layouts. It's possible to add several custom layouts. Selecting the "Custom layout" item in the list opens a second dialog for entering the layout description. Layouts are serialized as JSON object and are decoded solely in the LayoutsPreference class.
2023-08-06Don't replace user selected dead keysJules Aguillon1-2/+2
Don't replace dead-keys selected in the "Add keys to the keyboard" option by an alternative.
2023-08-06Remove the Accents optionJules Aguillon1-2/+0
This option makes less sense since per-script extra keys. It's also getting in the way of an eventual "dead-key or accented-letters" option.
2023-08-06Extra keys alternativesJules Aguillon1-1/+8
For each extra key, a list of alternative can be specified. An extra key won't be added to the keyboard if all its alternatives are already present on it. This is useful to avoid having the dead key for an accent and the accented letters at the same time.
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'