<feed xmlns='http://www.w3.org/2005/Atom'>
<title>unexpected-keyboard/shell.nix, 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>Fix building on NixOS (#1219)</title>
<updated>2026-04-08T15:38:45+00:00</updated>
<author>
<name>Jure Varlec</name>
</author>
<published>2026-04-08T15:38:45+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=13f1996af9d53c90086a311181b4e948eb06e998'/>
<id>13f1996af9d53c90086a311181b4e948eb06e998</id>
<content type='text'>
* shell.nix: bump platform version to match target

* shell.nix: make gradlew work on NixOS

This removes the wrapper provided by `shell.nix`. Folks expect the
`./gradlew` wrapper to work, so this approach is more straightforward.</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* shell.nix: bump platform version to match target

* shell.nix: make gradlew work on NixOS

This removes the wrapper provided by `shell.nix`. Folks expect the
`./gradlew` wrapper to work, so this approach is more straightforward.</pre>
</div>
</content>
</entry>
<entry>
<title>Spell checking (#1137)</title>
<updated>2026-02-01T23:20:00+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2026-02-01T23:20:00+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=77c4a27c4c37b3620defcab94ffd1b2f536c88cb'/>
<id>77c4a27c4c37b3620defcab94ffd1b2f536c88cb</id>
<content type='text'>
This adds dictionary-based spell checking to the keyboard. The keyboard looks at the word being typed and matches it against a dictionary to either complete the rest of the word or find alternative spellings.

The core of this feature is implemented in cdict, which is included as a
submodule in vendor/cidct.

Cdict is developped at https://github.com/Julow/cdict
The dictionaries are hosted at https://github.com/Julow/Unexpected-Keyboard-dictionaries/
The wordlists used to build the dictionaries are the same ones used by
HeliBoard from https://codeberg.org/Helium314/aosp-dictionaries

- Add an activity accessible from the launcher app that lists available
  dictionaries with a download button.
  The DictionaryListView view shows the list of available dictionaries and
  handles downloading and installing them.

- The Dictionaries class manages installed dictionaries. Dictionaries are
  installed as individual files into the app's private directory.

- Available dictionaries are listed in dictionaries.xml, which is generated
  when building Unexpected-Keyboard-dictionaries.
  method.xml mentions the dictionary name for each locales.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This adds dictionary-based spell checking to the keyboard. The keyboard looks at the word being typed and matches it against a dictionary to either complete the rest of the word or find alternative spellings.

The core of this feature is implemented in cdict, which is included as a
submodule in vendor/cidct.

Cdict is developped at https://github.com/Julow/cdict
The dictionaries are hosted at https://github.com/Julow/Unexpected-Keyboard-dictionaries/
The wordlists used to build the dictionaries are the same ones used by
HeliBoard from https://codeberg.org/Helium314/aosp-dictionaries

- Add an activity accessible from the launcher app that lists available
  dictionaries with a download button.
  The DictionaryListView view shows the list of available dictionaries and
  handles downloading and installing them.

- The Dictionaries class manages installed dictionaries. Dictionaries are
  installed as individual files into the app's private directory.

- Available dictionaries are listed in dictionaries.xml, which is generated
  when building Unexpected-Keyboard-dictionaries.
  method.xml mentions the dictionary name for each locales.
</pre>
</div>
</content>
</entry>
<entry>
<title>Upgrade Gradle (#1097)</title>
<updated>2025-09-28T22:37:26+00:00</updated>
<author>
<name>J. Fronny</name>
</author>
<published>2025-09-28T22:37:26+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=7fdf63b930e51a06011ce911cf87a03c41b8334d'/>
<id>7fdf63b930e51a06011ce911cf87a03c41b8334d</id>
<content type='text'>
* Enable configuration cache and up-to-date checking
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Enable configuration cache and up-to-date checking
</pre>
</div>
</content>
</entry>
<entry>
<title>shell.nix: Remove repoJson</title>
<updated>2025-09-03T22:25:56+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2025-09-03T22:25:56+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=ab85fb717dded6cb2284a1853242fe9f93955f7d'/>
<id>ab85fb717dded6cb2284a1853242fe9f93955f7d</id>
<content type='text'>
nixpkgs-unstable is now uptodate.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
nixpkgs-unstable is now uptodate.
</pre>
</div>
</content>
</entry>
<entry>
<title>Better support for foldable devices (#982)</title>
<updated>2025-05-22T21:54:13+00:00</updated>
<author>
<name>Matej Drobnič</name>
</author>
<published>2025-05-22T21:54:13+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=97355881a855c5d2503f7e518c1e30fc03f88d4e'/>
<id>97355881a855c5d2503f7e518c1e30fc03f88d4e</id>
<content type='text'>
* Add AndroidX WindowManager

unfortunately, this seems to be the only way to get fold state, native Android APIs are internal. To add this, we need to update some dependencies, raise java version and raise compile SDK.

* adds separate layouts and separate layout settings for folded and unfolded state of the device.

The affected settings are:
+ the margin bottom settings
+ the horizontal margin settings
+ the keyboard height settings

* Update shell.nix
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* Add AndroidX WindowManager

unfortunately, this seems to be the only way to get fold state, native Android APIs are internal. To add this, we need to update some dependencies, raise java version and raise compile SDK.

* adds separate layouts and separate layout settings for folded and unfolded state of the device.

The affected settings are:
+ the margin bottom settings
+ the horizontal margin settings
+ the keyboard height settings

* Update shell.nix
</pre>
</div>
</content>
</entry>
<entry>
<title>Drop support for Android 3 and 4</title>
<updated>2024-12-28T23:27:44+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2024-12-28T23:27:44+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=a9b78923c0c3e7dbe3f590c46fff387a6b0fbc26'/>
<id>a9b78923c0c3e7dbe3f590c46fff387a6b0fbc26</id>
<content type='text'>
Support for Android 4 was broken for several releases and no one
noticed. The lowest supported version is now Android 5.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Support for Android 4 was broken for several releases and no one
noticed. The lowest supported version is now Android 5.
</pre>
</div>
</content>
</entry>
<entry>
<title>shell.nix: Emulator for Android 15</title>
<updated>2024-12-26T12:43:24+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2024-12-26T12:43:24+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=57dbf3292fa7900f99fe503195d6cf20022eb653'/>
<id>57dbf3292fa7900f99fe503195d6cf20022eb653</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>Improve bone layout (#748)</title>
<updated>2024-09-19T21:57:26+00:00</updated>
<author>
<name>Zitrone</name>
</author>
<published>2024-09-19T21:57:26+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=b21bf3fffd1b158972fa58b401173cfeb6e282bb'/>
<id>b21bf3fffd1b158972fa58b401173cfeb6e282bb</id>
<content type='text'>
* shell.nix: fix gradle error

error was:
&gt; \&gt; Task :compileDebugJavaWithJavac FAILED
&gt; error: Source option 7 is no longer supported. Use 8 or later.
&gt; error: Target option 7 is no longer supported. Use 8 or later.

fixed by overriding the jdk version for gradle to openjdk17

* layouts/latn_bone: fix layout

- fix alignment with tabs mess
- make like actual bone layout, instead of trying to fit it into a 10 key
  wide keyboard
  - fixes missing üäö
  - fix missing $
  - moves q and ß where they belong
  - remove all of the diacritic keys (they can be added through the
    settings as extra keys)
  - kept the number row extra keys integration into top row
  - kept the idea of compressing , and . into the swipe actions of the
    bottom row
  - kept the number keys as key4 in the layer4 positions (instead of
    moving them to a number row, which i also considered)</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
* shell.nix: fix gradle error

error was:
&gt; \&gt; Task :compileDebugJavaWithJavac FAILED
&gt; error: Source option 7 is no longer supported. Use 8 or later.
&gt; error: Target option 7 is no longer supported. Use 8 or later.

fixed by overriding the jdk version for gradle to openjdk17

* layouts/latn_bone: fix layout

- fix alignment with tabs mess
- make like actual bone layout, instead of trying to fit it into a 10 key
  wide keyboard
  - fixes missing üäö
  - fix missing $
  - moves q and ß where they belong
  - remove all of the diacritic keys (they can be added through the
    settings as extra keys)
  - kept the number row extra keys integration into top row
  - kept the idea of compressing , and . into the swipe actions of the
    bottom row
  - kept the number keys as key4 in the layer4 positions (instead of
    moving them to a number row, which i also considered)</pre>
</div>
</content>
</entry>
<entry>
<title>Increase target SDK to 34</title>
<updated>2024-05-29T12:04:14+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2024-05-29T12:04:14+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=5d2eb35574e74f01c725c4b6a4fc4c63d3c66a3a'/>
<id>5d2eb35574e74f01c725c4b6a4fc4c63d3c66a3a</id>
<content type='text'>
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
</pre>
</div>
</content>
</entry>
<entry>
<title>shell.nix: Update dependencies and add Gradle</title>
<updated>2023-11-25T19:13:24+00:00</updated>
<author>
<name>Jules Aguillon</name>
</author>
<published>2023-09-09T14:44:04+00:00</published>
<link rel='alternate' type='text/html' href='https://ps.run/git/unexpected-keyboard/commit/?id=d073523125628ed3dcd7ef5f8a123d88c0dd3c1e'/>
<id>d073523125628ed3dcd7ef5f8a123d88c0dd3c1e</id>
<content type='text'>
Update OpenJDK to version 17, Android build tools to 33.0.1 and platform to 33.
These are required to build with Gradle.

Add Gradle to the environment, which must be wrapped to fix a
permissions issue. Setting `GRADLE_OPTS` has no effect as it seems not
to be passed down to the daemon.
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Update OpenJDK to version 17, Android build tools to 33.0.1 and platform to 33.
These are required to build with Gradle.

Add Gradle to the environment, which must be wrapped to fix a
permissions issue. Setting `GRADLE_OPTS` has no effect as it seems not
to be passed down to the daemon.
</pre>
</div>
</content>
</entry>
</feed>
