| Age | Commit message (Collapse) | Author | Files | Lines |
|
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.
|
|
|
|
|
|
Add a shortcut to switch to the greekmath pane directly from the main
layout.
|
|
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.
|
|
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.
|
|
These two fields couldn't have an interesting value at the same time.
As we can no longer rely on a special value to distinguish between
what's the kind, the kind of the key is explicitly encoded in the two
most significative bits of the _flags field.
Extra nice thing: This removes the special values 'EVENT_NONE' and 'CHAR_NONE'.
|
|
Two advantages:
- No need to distinguish modifiers in KeyEventHandler. The KeyValue is
enough to decide what action to do.
- Keys are never a Char and Event at the same time, fields can be
merged.
|
|
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.
|
|
It's the first modifier that uses combining diacritics. Whether it
should be represented as a modifier or a new kind of key can be
reconsidered later.
|
|
Might be useful for some math characters.
|
|
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.
|
|
Will be used by the Hungarian language.
|
|
Requires two new diacritics: ogonek and dot_above.
The new accents are also added to the Latvian layout as the two language
can be close but not to the other localized layouts. A new mechanism is
needed to reproducibly add extra keys to layouts without manual
placement.
|
|
Fn+e = €
Fn+l = £
Fn+r = ₹
Fn+y = ¥
Fn+c = ¢
Fn+p = ₱
|
|
* Add `Arrows` and `Box` accent system
|
|
|
|
Add simple arrows to the numeric keypad. Using the Fn key with these arrows will
output double arrows.
|
|
|
|
Also removed almost all combinations of diacritics and symbols to create extra
symbols.
|
|
These keys are shown only when Fn is activated, "placeholder" keys are
placed in the layouts.
|
|
|
|
|
|
|
|
|
|
New accents - caron and macron - were defined and QWERTY layout was
updated to add accents for Latvian specific characters.
|
|
To Fn+*
Was previously accent^+*, which was not available for most languages.
|
|
First add the 'ring' accent.
The swedish language uses the qwerty layout and three accents (aigu,
trema, ring)
|
|
Fn+$ and Fn+# respectively.
|
|
|
|
Add more keys under Fn. French quotes are S-<, S->, Fn-" and Fn-S-".
|
|
|
|
|
|
|
|
Notably subscript and superscript digits and some quote characters.
|
|
|
|
Add the Fn modifier that change the digits into F1 to F10.
|
|
KeyValue defines an ADT and some of its values, it now contains public
final fields and no internal logic.
KeyModifier handles modifiers and accents and creates new instances of
KeyValue when needed.
This operation is now properly cached.
|