|
|
||
|---|---|---|
| .. | ||
| build/agent | ||
| help | ||
| ibus-keyman | ||
| ibus-kmfl | ||
| keyman-config | ||
| kmflcomp | ||
| libkmfl | ||
| scim_kmfl_imengine | ||
| scripts | ||
| .editorconfig | ||
| .gitignore | ||
| .pbuilderrc | ||
| history.md | ||
| Jenkinsfile | ||
| LICENSE.md | ||
| Makefile | ||
| README.md | ||
| README.repo | ||
| VERSION | ||
Keyman for Linux
Projects
- keyman-config - km-config and some other tools to install, uninstall and view information about Keyman keyboard packages.
- ibus-keyman - IBUS integration to use .kmx Keyman keyboards
- kmflcomp - KMFL keyboard compiler
- libkmfl - older KMFL 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 and Keyman for Linux
sudo apt install cdbs debhelper libx11-dev autotools-dev build-essential dh-autoreconf flex bison libibus-1.0-dev python3-setuptools meson libjson-glib-dev libgtk-3-dev libxml2-utils help2man python3-lxml python3-magic python3-numpy python3-pil python3-pip python3-qrcode python3-requests python3-requests-cache python3 python3-gi dconf-cli dconf-editor
Compiling from Command Line
Build script
Installing for ibus to use ibus-kmfl or ibus-keyman
-
The process to build and install everything is:
make reconfto create the build system and set the versionmake fullbuildto configure and buildsudo make installto install to/usr/local
-
Some of the files must be installed to
/usr/share/somake installmust be run assudo.To do this run
sudo make install-
This will install to
/usr/local- and
/usr/share/ibus/component/kmfl.xmland/usr/share/kmfl/icons - and
/usr/share/ibus/component/keyman.xmland/usr/share/keyman/icons
- and
-
If you already have the ibus-kmfl package installed then it will move the file
/usr/share/ibus/component/kmfl.xmlto/usr/share/doc/ibus-kmfl/ -
If you already have the ibus-keyman package installed then it will move the file
/usr/share/ibus/component/keyman.xmlto/usr/share/doc/ibus-keyman/
-
-
run
sudo make uninstallto uninstall everything and put it back again
Tmp install
Used by TC for validating PRs
Run make tmpinstall to build and install keyboardprocessor, kmflcomp, libkmfl, ibus-kmfl and ibus-keyman to /tmp/kmfl
This is only for testing the build, not for running ibus-kmfl or ibus-keyman in ibus
Manually
- libkmfl requires
kmfl.hheader from kmflcomp - ibus-kfml requires
kmfl.hand headers and lib from libkmfl - ibus-keyman requires headers and lib from keyboardprocessor
So
- kmflcomp must be built and installed before libkmfl
- libkmfl must be built and installed before ibus-kmfl
- keyboardprocessor must be built before ibus-keyman
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 PR builds will run make tmpinstall
Master builds run make tmpinstall and create source packages
Nightly builds upload the most recent new master build to https://downloads.keyman.com
Building packages
See Linux packaging doc for details on building Linux packages for Keyman.
Testing
The unit tests can be running with the following command:
cd linux/keyman-config
./run-tests.sh
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
- After installing a Keyman keyboard you need to run
ibus restartso that ibus will look for it. (TODO: double check this)
Activating a Keyman keyboard
GNOME3 (focal and bionic default)
-
Click the connection/sound/shutdown section in the top right. Then the tools icon for Settings.
-
In
Language and Regionclick+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-spaceto switch between keyboards.
Cinnamon (wasta default)
- Open
Menuand findIBus Keyboards(IBus Preferences) and run it - Make sure
Show icon on system trayis checked - Select the tab
Input Method. - Click
Addto 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 trayis checked - Select the tab
Input Method. - Click
Addto 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