abouttreesummaryrefslogcommitdiff
path: root/srcs/juloo.keyboard2/Config.java
AgeCommit message (Collapse)AuthorFilesLines
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 ( ) { } [ ] \ / ÷ - + = ! % : ; . , ?
2022-09-24Added Czech translation and layout (#198)Validbit1-0/+1
* Added Czech translation and layout Translated keyboard and created Czech multilingual "practical" layout for faster typing and typing in commonly used languages (German, Slovak + French w/accents) * Update (Rephrase) full_description.txt ... to better suit the language and naturally promote keyboard's features and possibilities to a wider audience.
2022-09-24Bone keyboard layout (#155)Quantenzitrone1-0/+1
2022-09-24Add white e-ink oriented theme (#193)Piotrek Marciniak1-10/+1
* Add white e-ing oriented theme Co-authored-by: Jules Aguillon <jules@j3s.fr>
2022-09-24Added Norwegian keyboard layout (#202)ChristianGynnild1-0/+1
2022-09-24Bengali Keyboard Layout (#201)Md Rasel Hossain1-0/+1
* Bangla Layout
2022-09-19Add the Extra Keys optionJules Aguillon1-3/+7
Allows to add more keys to the keyboard from a predefined list. The implementation doesn't use MultiSelectListPreference because it doesn't seem possible to change the item layout to properly show the rendered symbols.
2022-07-24Hold any modifier to lockJules Aguillon1-1/+2
Modifiers can be locked with a long press. The key repeat mechanism is re-used and the press timeout is the same. Every modifiers can be locked that way, not only the "lockable" ones. The previous behavior can be enabled in the settings (for shift only) but the default is changed.
2022-07-24Add an option to control auto capitalisationJules Aguillon1-0/+2
2022-07-03Add ukrainian layout (#172)Andrew Cat1-0/+1
2022-06-24Revert "Remove the vibration settings"Jules Aguillon1-0/+3
Bring back the "Vibration" option. The duration option isn't added back because the vibration settings are still handled by Android. In fact, the option has no effect if the vibration are disabled in the system settings. This partially reverts commit ef03dfed5c802a855c4655204eee39a8769cfed7.
2022-06-24Fix localized key not in predefined positionJules Aguillon1-6/+3
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-06Remove the vibration settingsJules Aguillon1-6/+0
Instead of using the vibrator directly, use performHapticFeedback, which will integrate better with the system settings.
2022-06-06Fix inconsistent text size in landscape modeJules Aguillon1-4/+8
Dimens weren't refreshed when the orientation changed. Dimens are not the right solution anyway, use scaling factors instead.
2022-06-06Increase horizontal spacing in landscape modeJules Aguillon1-2/+9
Space between the keys and margin on the left and right edges of the screen.
2022-06-06New setting: Keyboard height in landscape modeJules Aguillon1-4/+3
The previous fixed value of 55% was too high. The new default value is 50% and it is customizable.
2022-06-06Refactor: Remove KeyValue.nameJules Aguillon1-14/+6
This makes KeyValue objects smaller. 'equals' and 'hashCode' are now implemented too. Key names are still used to recognise keys with special meaning, but not for comparing keys anymore.
2022-06-05Refactor: Separate Events and Keyevents and use enumsJules Aguillon1-14/+19
Negative values for internal events are preventing further refactoring. Add a new kind of key and split internal events (now Event) and Android's key events (now Keyevent). Use enums events and modifiers outside of the KeyValue class. Internally, they are converted to and from integer.
2022-06-05Refactor: Abstract KeyValue fieldsJules Aguillon1-18/+21
The meaning of the public fields of KeyValue was quite complicated and not handled consistently accross the app. Make these fields private and add a more abstract API on top. The meaning of these fields changed recently and it wasn't an easy change. I plan on making more changes in the future.
2022-06-05Turkish layout & translation (#151)erqan1-0/+1
* Turkish layout & translation
2022-06-05Stop using flags for modifiersJules Aguillon1-13/+14
There was no free bits left to add new modifiers. Instead of increasing the width of the 'flags' field, refactor the way modifiers are represented and used. Modifers are now represented as independent values and stored in the 'code' field. A flag is added to distinguish between modifiers and keys with a key event. The most notable change is that modifiers can no longer be or-ed into a single value but have to be represented as an array.
2022-06-04Add colemak layout (#135)Djuric1-0/+1
2022-05-29Add layout: QWERTY (Hungarian)Jules Aguillon1-2/+3
2022-05-29Automatically place localized keys on the layoutsJules Aguillon1-6/+22
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-01Add support for Hungarian layout (#127)Tibor Billes1-0/+1
2022-04-24Added neo 2 layout (#125)matthiakl1-0/+1
* Added neo 2 layout * Move accents away from screen edge into second row
2022-04-16Fix compatibility with Android 6Jules Aguillon1-26/+30
Android 6 uses Java 1.7, the only incompatible feature in use was lambdas.
2022-04-06Fix mismatch layout nameJules Aguillon1-1/+1
The Korean layout id was not consistent and this caused a crash.
2022-04-06Fix compat with older version of AndroidJules Aguillon1-2/+2
Resources.getFloat is new from API 29.
2022-04-03Add the Programming Layout optionJules Aguillon1-2/+11
Allow specifying a layout for programming and add a key for switching to it easily. The switching key is placed on the top edge of the space bar. The option has no effect by default because the ergonomic isn't ideal, it needs to be enabled explicitly. Users of Latin-script languages certainly prefer to use one layout (for programming or not). This feature might be removed in favor of a better language-switching mechanisms in the future.
2022-04-02`Arrows` and `Box` system (#114)Raphael1-1/+2
* Add `Arrows` and `Box` accent system
2022-04-02Add Korean layout (#115)nickid1-0/+1
* Add Korean layout