Your rating: None Average: 4.9 (66 votes)

OKBoard (a.k.a. Magic Keyboard) is a gesture based keyboard that allow single stroke typing. Usage is explained in this video. English, French and Dutch are supported without the need for additional packages, other language resources are available in separate packages, e.g. for Swedish (okb-lang-sv). It currently works on Jolla phone, Xperia X / XA2 / 10 / 10 plus. Larger phones (such as XA2 plus/ultra & Fxtec Pro1) may be supported in a later release.

Do not use other third party keyboards at the same time (unless they are just simple layouts for new languages).

Source code: http://git.tuxfamily.org/okboard/okb-engine.git/ and http://git.tuxfamily.org/okboard/okb-keyboard.git/. Instructions for adding new languages are included in README.md files (latin alphabet only at the moment).

If you get an error message about missing dependencies (dbus-python, patch ...) when installing, just run "pkcon refresh" as root and try again. Also some issues may be solved by uninstalling and reinstalling.

OKBoard tends to break for each new Sailfish release, so if possible, wait for other users reports before upgrading to a new OS version.



Application versions: 
File okboard-full-0.6.25-1.armv7hl.rpm10.5 MB20/10/2020 - 09:05
File okboard-full-0.6.26-1.armv7hl.rpm10.5 MB09/02/2021 - 05:00
File okboard-full-0.6.27-1.armv7hl.rpm10.5 MB13/05/2021 - 13:47
File okboard-full-0.6.34-1.aarch64.rpm10.51 MB29/09/2021 - 20:00
File okboard-full-0.6.34-1.armv7hl.rpm10.5 MB29/09/2021 - 20:00

0.6.34: Fix for "Installation not complete" error

0.6.33: Support for SFOS 4.2 & aarch64 (version pulled out)

0.6.27: Support for SFOS 4.1 still some issues with Android support, stay with SFOS 4.0 if it bothers you

0.6.26: Support for SFOS 4

0.6.25: Support for SFOS 3.4.0 (second try)




eber42's picture

It will be included in the next release.

ade's picture

Kind reminder it is still not included in the latest release.

eber42's picture

It is supposed to be fixed in the current version (with a different fix than the one you suggested).
Could you give the reference of the arrow keyboard you use so that I could try it myself ?

ade's picture

I just looked at the code and did not see a change there, so applied my own fix again.
But you are right, it is already working without my suggested change. Thanks and sorry for my false conclusion.

Feathers_McGraw's picture

Thanks for your continued development and efforts to improve the experience on large screens/high DPI devices, it's working great for me on Fairphone 2 (although I had to uninstall and reinstall before the keyboard would show up - just restarting the device or the service wasn't sufficient).

Search accuracy is much better now, and the thickness of the line is better too.

I noticed I now get search suggestions in the bar above the keyboard even without the proprietary prediction library installed. Is that a new feature? If so, thank you again. Keeps getting better and better :)

eber42's picture

Thanks for your suggestion to use a Nexus 5 for testing, it allowed me to discover a lot of issues (including the regressions when the xt9 library is missing. The new release includes workarounds for these).

The issue with need to uninstall/reinstall has been widely reported but I have not been able to reproduce it so I do not know to solve it at the moment (I will probably seek guinea pigs for next release)

damoleon's picture

Hi, I've just tried on my jolla 1 version 2.1.0 through warehouse but I get Transaction /1290_baaeaece

Status: repo-not-available

Extra details :

File'.:mw/armv7hl/libpython3_4m1_0-3.4.3-1.6.3.armv7hl.rpm' not found on medium 'https://releases.jolla.com/releases/'

Is there a workaround I could use ?


EDIT :  I Solved it running pkcon refresh

campeon's picture

Please, update it to be improve the use with Jolla C or Intex.

I would mind to pay a little for its use.

campeon's picture

i tried with  jolla C and it works amazing  !!!



eber42's picture

It runs, but you get a fairly degraded user experience which is absolutely not representative of how it is supposed to behave. Apart from that, you should not have any issue.

Support for 5" devices is planned (when I manage to find one)


erlen's picture


I updated it today, I am using the french keyboard, and when OKboard is activated the keyboard doesn't appear. When I turn it off, I recover the normal keyboard.

Do you have any idea what could be the problem?


eber42's picture

Enable logs in the settings applications, start the keyboard and send me a copy of the logs (they are located in ~/.local/share/okboard) ... and use French in e-mail communication :-)

erlen's picture

The only file edited is prediect.log and it is empty.
And it is not working with english version neither.

Maybe it could be link with a package in patchmanager I will check, or a conflict with the file of the previous version?

erlen's picture

Ok it works, I remove the apps and install again and no more problem, conflict apparently.

eber42's picture

And if there is not recent log, just run the following command and send me the output:

killall maliit-server ; maliit-server


rinigus's picture

I stumbled on the same problem - with OKboard 0.6 enabled, the keyboard did not appear. The logs were empty as well. So, I followed your advice and got maliit-server crash on the terminal while enabling OKboard:

killall maliit-server; maliit-server
WARNING: Defaulting to webview scaling factor of 1.0
WARNING: file:///usr/lib/maliit/plugins/okboard_sfos1.qml:117:5: QML DBusAdaptor: Faile
d to register object/com/jolla/keyboard
WARNING: file:///usr/lib/maliit/plugins/okboard_sfos2.qml:117:5: QML DBusAdaptor: Faile
d to register object/com/jolla/keyboard
WARNING: bool MIMPluginManagerPrivate::loadPlugin(const QDir&, const QString&) Error lo
ading plugin from "/usr/lib/maliit/plugins/set_symlink.sh" "'/usr/lib/maliit/plugins/se
t_symlink.sh' is not an ELF object"

After uninstalling OKboard and installing it again, all worked fine.

Thank you for working on it!

247's picture

for italian language, the keyboard hang up everytime you press a single letter...and suggestion always gives error...maybe the italian dictionary has to be updated too?

spidernik84's picture

Most definitely due to the version discrepancy. I will do my best to update the dictionary today. No guarantees :)

spidernik84's picture

I just saw eber42 remarks on waiting for a few days before redoing the dictionaries. I will prepare the necessary for the compilation, meanwhile.

ahmadhsalim's picture

Is it possible to compile this to ubuntu touch???

eber42's picture

It should be possible as Ubuntu touch also uses QML & maliit.

Mariusmssj's picture

Love this app but the only two quibles are the transparancy in some apps being way too hight so it's hard to see the keys and no auto space in android applications.

Are there any plans for updats that fix those issues?

Thank you :)

eber42's picture

Transparency issue is fixed.

I do not know how to improve the auto spacing (may require modifications in android support and/or maliit server)

Mariusmssj's picture

LOVE the update, thank you so much!!! Really appreciate all of your hard work

bambusmatte's picture

When I try to install the 0.5.10 .rpm file I get an Error: Missing dependencies: libpython3.4m.so.1.0 and pyotherside-qml-plugin-python3-qt5 >= 1.2.0

I use linux on my laptop, but I have no experience on sailfish... how do I add those? Or am I missing a step here?


edit: i use sailfish

spidernik84's picture

I've been testing the keyboard with the English and the Italian language. It works very well.
I'd say the transparency issue and the no-autospace in Android apps are the only two bummers, so far. I have hope.

247's picture

works very well but unfortunately i have transparency problems too...any fix?

fifr's picture

Unfortunately, okboard crashes sometimes for me and I have to turn it off. See the journal output below. Is there something I can do to figure out what's going on?

And thanks a lot for this outstanding package, keep up the good work.

Feb 01 09:47:28 Jolla invoker[25312]: Thread starting ...
Feb 01 09:47:28 Jolla invoker[25312]: loading tree: /home/nemo/.local/share/okboard/de.tre ...
Feb 01 09:47:28 Jolla kernel: misc memnotify: 0xec5bf1c0 - threshold updated to 0x1
Feb 01 09:47:28 Jolla invoker[25312]: WARNING: requestActivate() called for  QQuickView(0xf0df18)  which has Qt::WindowDoesNotAcceptFocus set.
Feb 01 09:47:28 Jolla kernel: CurveThread: unhandled page fault (11) at 0x5869c580, code 0x005
Feb 01 09:47:28 Jolla kernel: pgd = ec98c000
Feb 01 09:47:28 Jolla kernel: SLIM_CL: skip reconfig sequence
Feb 01 09:47:28 Jolla kernel: [5869c580] *pgd=00000000
Feb 01 09:47:28 Jolla kernel: Feb 01 09:47:28 Jolla kernel: Feb 01 09:47:28 Jolla kernel: Pid: 26664, comm:          CurveThread
Feb 01 09:47:28 Jolla kernel: CPU: 1    Tainted: P        W  O  ( #1)
Feb 01 09:47:28 Jolla kernel: PC is at 0x47ce2d58
Feb 01 09:47:28 Jolla kernel: LR is at 0x47ce2d79
Feb 01 09:47:28 Jolla kernel: pc : [<47ce2d58>]    lr : [<47ce2d79>]    psr: 400f0030
                              sp : 58453630  ip : 47d0a480  fp : 58454390
Feb 01 09:47:28 Jolla kernel: r10: 584545c4  r9 : 00000000  r8 : be994a08
Feb 01 09:47:28 Jolla kernel: r7 : 58453630  r6 : 47d09388  r5 : 00fcb4b0  r4 : 47d09388
Feb 01 09:47:28 Jolla kernel: r3 : 5869c580  r2 : 584ed008  r1 : 001af578  r0 : 584536b8
Feb 01 09:47:28 Jolla kernel: Flags: nZcv  IRQs on  FIQs on  Mode USER_32  ISA Thumb  Segment user
Feb 01 09:47:28 Jolla kernel: Control: 10c5787d  Table: acb8c06a  DAC: 00000015
Feb 01 09:47:28 Jolla kernel: [<c010b71c>] (unwind_backtrace+0x0/0x118) from [<c010f654>] (__do_user_fault+0x6c/0xb4)
Feb 01 09:47:28 Jolla kernel: [<c010f654>] (__do_user_fault+0x6c/0xb4) from [<c08a2924>] (do_page_fault+0x358/0x3e8)
Feb 01 09:47:28 Jolla kernel: [<c08a2924>] (do_page_fault+0x358/0x3e8) from [<c01002f8>] (do_DataAbort+0x134/0x1a8)
Feb 01 09:47:28 Jolla kernel: [<c01002f8>] (do_DataAbort+0x134/0x1a8) from [<c08a1194>] (__dabt_usr+0x34/0x40)
Feb 01 09:47:28 Jolla kernel: Exception stack(0xc2f09fb0 to 0xc2f09ff8)
Feb 01 09:47:28 Jolla kernel: 9fa0:                                     584536b8 001af578 584ed008 5869c580
Feb 01 09:47:28 Jolla kernel: 9fc0: 47d09388 00fcb4b0 47d09388 58453630 be994a08 00000000 584545c4 58454390
Feb 01 09:47:28 Jolla kernel: 9fe0: 47d0a480 58453630 47ce2d79 47ce2d58 400f0030 ffffffff
Feb 01 09:47:28 Jolla kernel: CurveThread(25268) send signal 11 to CurveThread(25268)

johnnydvc's picture

Mine seems to be crashing when I first launch okboard after reboot.
But I'm not entirely sure. I do have the german dict files installed.
How do I access the error logs like you did?
Also how can one file any kind of bugreport on the project's git site?
Thanks fot the keyboard

dyraig's picture

Great app, very promising - thank you very much! Unfortunately, I have to disable it frequently - whenever I'm using it on a light background (e.g. web site with white background), the letters are not readable at all due to the transparency. Maybe you could add a configuration switch to disable transparency? That would be great!