abouttreesummaryrefslogcommitdiff
path: root/srcs
AgeCommit message (Collapse)AuthorFilesLines
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.
2022-11-26Refactor: Use XmlPullParser directlyJules Aguillon1-20/+36
XmlResourceParser is convenient but cannot be easily instantiated.
2022-11-26Refactor: Pass layout as a KeyboardData instead of IDJules Aguillon3-67/+80
Parse layouts sooner.
2022-11-26Make fake pointers not lockableJules Aguillon1-3/+3
Especially annoying now that modifiers are not locked by a double tap.
2022-11-26Stop using deprecated 'shouldOfferSwitchingToNextInputMethod'Jules Aguillon1-1/+4
This function has been introduced in API 19 and deprecated in API 28. There was no version check for API 19 but instead of adding these, simply remove the feature for API under 28.
2022-11-13Fix missing version checkJules Aguillon1-7/+10
setSystemGestureExclusionRects is API 29. Broken since d644d2b, which almost got into the release!
2022-11-13Draw borders and update themesJules Aguillon2-4/+53
Themes can define the color of each borders independently. Every borders must have the same width for now. It's possible to set a different width when the key is activated, thought this is only used to remove borders. The 4 themes are updated to take advantage of borders.
2022-11-13Highlight activated keys labelJules Aguillon1-3/+2
Rendering change only.
2022-11-13Add editing keys: copy, paste, cut, select allJules Aguillon3-1/+48
2022-11-13Refactor: Move editing code from to KeyEventHandlerJules Aguillon7-101/+104
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-13Refactor: Use enum values in KeyValue.KindJules Aguillon2-39/+25
instead of maintaining a separate set of constants and a conversion function.
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-13Fix localized keys appearing on secondary layoutJules Aguillon1-3/+1
2022-11-13Allow switching quickly between two layoutsJules Aguillon9-29/+56
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 Aguillon2-0/+5
The brightness value is used as the alpha value when drawing the labels.
2022-11-11Dim secondary keysJules Aguillon3-15/+31
Reduce the constrast of "secondary" labels. Modifiers (except diacritics), event and keyevent keys are considered secondary.
2022-11-11Disable the back-gesture on the keyboard areaJules Aguillon1-0/+16
as well as other system gestures that would interfere with the keyboard's own swipe gesture.
2022-11-11Avoid crashing in direct-boot modeJules Aguillon2-6/+21
The settings activity can't open in direct-boot mode. The emoji pane opens without the "last used" data.
2022-11-11Direct-boot aware preferencesJules Aguillon5-47/+148
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-06Enable pin layout for decimal and signed inputsJules Aguillon1-2/+0
Decimal and signed inputs are more common than expected. Adding a few keys is enough to support these.
2022-11-06Fix adding two pointers for the same keyJules Aguillon1-1/+2
2022-11-06Remove option "Lockable modifiers"Jules Aguillon1-13/+8
2022-11-05Add combinations to 'accent_slash' and show in settingsJules Aguillon2-1/+6
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 Aguillon5-0/+44
Allows to type many of the "with stroke" or "with bar" latin letters.
2022-11-05Apply Fn firstJules Aguillon1-2/+2
It's otherwise impossible to type Ctrl+F keys.
2022-11-05Automatic day night theme in settings activityJules Aguillon1-0/+15
There seems to be no "DayNight" theme compatible with older version of android outside of the androidx library. Using 'Theme.DeviceDefault' which is a dark theme, even if it doesn't sounds like. Detect if a light theme should be used at activity creation.
2022-11-01Use '₹' instead of '₨' in HindiJules Aguillon1-0/+1
₨ is Shift+₹.
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-24Draw letter indication on the pin layoutJules Aguillon3-7/+36
There is no way to type letters on the pin layout, the indication are decoration only. Use the E.161 standard.
2022-10-24Add the pin entry layoutJules Aguillon2-5/+19
The layout is used for phone number and datetime input boxes as well as some numbers. It is easier to use when the full numeric layout is not needed.
2022-10-23Disable Alt and Meta by defaultJules Aguillon1-3/+0
The Meta key is not useful. The Alt key can be used in a terminal but is not useful to a part of terminal users.
2022-10-23Add optional NumPadGero Streng3-7/+57
Shows a NumPad depending on preference: Never/Landscape/Always
2022-10-23Make the shift symbol biggerJules Aguillon1-1/+1
2022-10-23Show keys description in settingsJules Aguillon2-2/+25
The symbols alone might be hard to understand when scrolling through the "extra keys" option.
2022-10-23Refactor: Remove boilerplate for symbol keysJules Aguillon1-33/+49
2022-10-23Add the capslock keyJules Aguillon8-10/+23
The key enable caps lock immediately. It does nothing if caps lock is already enabled. It is not present on the keyboard by default but a place is defined on every layout, top-right of the shift key. It can be enabled in the settings. The icon is from materialdesignicons.com.
2022-10-16Autocapitalisation: Avoid trigerring when Ctrl+DelJules Aguillon2-2/+8
Autocapitalisation could trigger while repeatedly typing Ctrl+Del to remove several words.
2022-10-16Allow to disable Alt and Meta keysJules Aguillon1-1/+16
The keys are marked "loc" in the layouts and are handled like the other extra keys. The only difference is that they are enabled by default (for now).
2022-10-16Disable fullscreen modeJules Aguillon1-0/+7
This mode is annoying to some users and is disabled in most text views. The keyboard has a fixed sized relative to the height of the screen in landscape mode. The keyboard can't take more space than expected, currently. This might cause problems in the future and might be hidden behind an option if one is found. Every text views so far seemed to behave fine.
2022-10-16Fix literal tab keyJules Aguillon1-1/+1
Broken since 31d6a70d.
2022-10-15Add the breve diacriticJules Aguillon5-16/+37
2022-10-15Basic greek layout. (#207)lpv1-0/+1
* Basic greek layout.
2022-10-15Fix crash due to auto capitalisationJules Aguillon2-38/+43
It is unclear how _autocap.started is not called first but nothing is preventing to initialize things earlier.
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-10-04Allow to type İ on the Turkish layoutJules Aguillon1-0/+4
In Turkish, upper case of 'iı' is 'İI' but Java's toUpperCase will return 'II'. To make 'İ' accessible, make it the shift of 'ı'. This has the inconvenient of swapping i and ı on the keyboard.
2022-09-24Fix an unexplained crash encountered in the wildJules Aguillon1-2/+10
For some reason, 'subtype' can be null. Perhaps because the keyboard is started before the IMM is ready.