spiegel-keyman/linux
2018-09-17 10:48:22 +07:00
..
build/agent building Keyman not WeSay 2018-04-27 14:47:27 +07:00
ibus-kmfl use date of last git commit not current date for VERSION 2018-09-15 17:49:28 +07:00
keyman-config tmp python site packages dir depends on python version 2018-09-17 10:48:22 +07:00
kmflcomp use date of last git commit not current date for VERSION 2018-09-15 17:49:28 +07:00
libkmfl minor configure update 2018-09-15 17:49:26 +07:00
scim_kmfl_imengine [linux] remove autotool generated files 2018-09-12 11:04:28 +07:00
scripts tmp python site packages dir depends on python version 2018-09-17 10:48:22 +07:00
.pbuilderrc use date of last git commit not current date for VERSION 2018-09-15 17:49:28 +07:00
history.md [KMFL] 11.0 alpha and version of KMFL 2018-04-23 15:12:51 +07:00
LICENSE.md describe dual licensing in LICENSE.md 2018-06-11 13:35:30 +07:00
linux.code-workspace move scripts to scripts dir 2018-09-15 17:49:26 +07:00
Makefile update README.md for new build scripts 2018-09-17 10:07:53 +07:00
README.md update README.md for new build scripts 2018-09-17 10:07:53 +07:00
README.repo use date of last git commit not current date for VERSION 2018-09-15 17:49:28 +07:00
VERSION scripts to build local Debian packages with pbuilder 2018-09-15 17:49:25 +07:00

Keyman for Linux

Projects

  • kmflcomp - KMFL keyboard compiler
  • libkmfl - core library
  • ibus-kmfl - IBUS integration to use KMFL
  • scim_kmfl_imengine - deprecated SCIM engine to use KMFL

See license information about licensing.

Linux Requirements/Setup

  • It is helpful to be using the packages.sil.org repo

  • Install packages required for building and developing KMFL sudo apt install cdbs debhelper libx11-dev autotools-dev build-essential dh-autoreconf flex bison libibus-1.0-dev python3-setuptools

Compiling from Command Line

Build script

Tmp install

Run make tmpinstall to build and install kmflcomp, libkmfl and ibus-kmfl to /tmp/kmfl

This is only for testing the build, not for running ibus-kmfl in ibus

Installing for ibus to use ibus-kmfl
  • Some of the files must be installed to /usr/share/ so make install must be run as sudo.

  • To do this run sudo make install_local

    • This will install to /usr/local

      • and /usr/share/ibus/component/kmfl.xml and /usr/share/kmfl/icons
    • If you already have the ibus-kmfl package installed then build.sh will move the file /usr/share/ibus/component/kmfl.xml to /usr/share/doc/ibus-kmfl/

      • run sudo make uninstall_local to put it back again

Manually

  • libkmfl requires kmfl.h header from kmflcomp
  • ibus-kfml requires kmfl.h and headers and lib from libkmfl

So

  • kmflcomp must be built and installed before libkmfl
  • libkmfl must be built and installed before ibus-kmfl

For each project run ./configure && make && make install.

You may prefer to create a different directory to build in and run configure from there e.g.

mkdir ../build-kmflcomp; cd ../build-kmflcomp ../kmflcomp/configure make make install

The install of ibus-kmfl doesn't install everything to the correct location for it to be used - to be fixed

Continuous integration

Teamcity will run make tmpinstall

Building packages

TBD, hopefully jenkins

Testing

Tests to be created as there are no current tests

Running Keyman for Linux

Setting up Ibus

Ibus should be running on a default install of Ubuntu

You may want to install extra packages to get other ibus input methods e.g ibus-unikey for VN

Run ibus restart after installing any of them

Getting a Keyman keyboard

  • There are some kmfl keyboards available on packages.sil.org. Search for "kmfl-keyboard". These will also install the ibus-kmfl package.

  • You can find more .kmn source keyboards at the Keyboards repo. They may or may not currently work with KMFL.

  • The .kmn file should be put in /usr/share/kmfl or ~/.kmfl, preferably ~/.kmfl

    • TODO: let ibus-kmfl find keyboards in /usr/local/share/kmfl as well
  • After installing a Keyman keyboard you need to run ibus restart so that ibus will look for it. (TODO: double check this)

Activating a Keyman keyboard

GNOME3 (bionic default)
  • Click the connection/sound/shutdown section in the top right. Then the tools icon for Settings.

  • In Language and Region click + to add a keyboard.

  • Click the 3 dots expander then search for "Other" and click it

  • The Keyman keyboards should be listed here to choose

  • Use Win-space to switch between keyboards.

Unity (xenial default)
  • Run Text Entry
  • Click + to add a keyboard.
  • In Choose an input source search for "Other" or the keyboard name, or "Ibus" to find Keyman keyboards.

Check Show current input source in the menu bar to see what keyboard you are using and have a menu for keyboards.

Use Win-space to switch between keyboards.

Cinnamon (wasta xenial default)
  • Open Menu and find IBus Preferencesand run it
  • Make sure Show icon on system tray is checked
  • Select the tab Input Method.
  • Click Add to add a keyman keyboard.
  • Click the 3 dots expander then search for "Other" and click it
  • The Keyman keyboards should be listed here to choose
MATE (alternative)
  • Open System-> Preferences -> Other -> IBus Preferences.
  • Make sure Show icon on system tray is checked
  • Select the tab Input Method.
  • Click Add to add a keyman keyboard.
  • Click the 3 dots expander then search for "Other" and click it
  • The Keyman keyboards should be listed here to choose