<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unexpected-keyboard/srcs/juloo.keyboard2/EmojiKeyButton.java, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/'/>
<entry>
<title>Add left/right slider to the emoji pane</title>
<updated>2023-10-28T18:14:32+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2023-10-28T18:14:32+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=148bed769a14f9f5efed84e8d9391e0ace813bd2'/>
<id>148bed769a14f9f5efed84e8d9391e0ace813bd2</id>
<content type='text'>
This entirely changes the implementation of the bottom row in the emoji
pane.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This entirely changes the implementation of the bottom row in the emoji
pane.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor: Move editing code from to KeyEventHandler</title>
<updated>2022-11-13T15:28:39+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2022-11-13T15:18:08+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=078dbcd5ff7f0828f48d66d866ea49d3eb14cc6a'/>
<id>078dbcd5ff7f0828f48d66d866ea49d3eb14cc6a</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Add the Extra Keys option</title>
<updated>2022-09-19T09:41:18+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2022-09-19T09:41:18+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=25a6e71ee815a196d76358cf132c45eb38a10b35'/>
<id>25a6e71ee815a196d76358cf132c45eb38a10b35</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix localized key not in predefined position</title>
<updated>2022-06-24T18:26:27+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2022-06-24T18:26:27+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=ab987c776c7ddc0fab594f20f4ddf49d98848ccd'/>
<id>ab987c776c7ddc0fab594f20f4ddf49d98848ccd</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Refactor: Abstract KeyValue fields</title>
<updated>2022-06-05T15:46:22+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2022-06-05T15:26:34+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=e10c587dc5286db64a6f55010637f0c3f9f62d59'/>
<id>e10c587dc5286db64a6f55010637f0c3f9f62d59</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Stop using flags for modifiers</title>
<updated>2022-06-04T23:43:58+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2022-06-04T23:38:42+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=4127aa6f033a258aa89ff3704a952505c8c056cb'/>
<id>4127aa6f033a258aa89ff3704a952505c8c056cb</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
<entry>
<title>Reference the "special key font" in the Theme object</title>
<updated>2021-12-28T16:53:58+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2021-12-28T16:53:58+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=93704cca0ace3bff31dea5d3841ba185ad89398a'/>
<id>93704cca0ace3bff31dea5d3841ba185ad89398a</id>
<content type='text'>
Remove the last cast of the context.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Remove the last cast of the context.
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate "handler" code</title>
<updated>2021-12-28T16:47:18+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2021-12-28T16:47:18+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=15ce200ce3f9d19f1a1f1fb43f176bf511f14271'/>
<id>15ce200ce3f9d19f1a1f1fb43f176bf511f14271</id>
<content type='text'>
As with the previous commit, remove casts of the context.
The "handler" object is referenced in the "config" object for now.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
As with the previous commit, remove casts of the context.
The "handler" object is referenced in the "config" object for now.
</pre>
</div>
</content>
</entry>
<entry>
<title>Auto-format Java and XML files</title>
<updated>2021-12-19T18:44:27+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2021-12-19T18:44:27+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=1cfecbdf48edb65cc0be8b017c8f389f91212a32'/>
<id>1cfecbdf48edb65cc0be8b017c8f389f91212a32</id>
<content type='text'>
Use xmllint.
Re-indent Java files using spaces.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Use xmllint.
Re-indent Java files using spaces.
</pre>
</div>
</content>
</entry>
<entry>
<title>Separate handling of modifiers from KeyValue class</title>
<updated>2021-04-18T21:28:49+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2021-04-18T21:28:49+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=81803c406a82862602aa5e350fcc07692e9f16a6'/>
<id>81803c406a82862602aa5e350fcc07692e9f16a6</id>
<content type='text'>
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.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
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.
</pre>
</div>
</content>
</entry>
</feed>
