Some of the configuration files are useful for other distributions
as well. So this change moves them out of `debian/` to
`linux/keyman-config` so that they will be included in the source
tar ball.
Also remove zero-width space from one file.
Closes #8880.
(cherry picked from commit
|
||
|---|---|---|
| .. | ||
| build/agent | ||
| debian | ||
| help | ||
| ibus-keyman | ||
| keyman-config | ||
| legacy | ||
| scripts | ||
| .gitignore | ||
| .pbuilderrc | ||
| Dockerfile | ||
| history.md | ||
| Jenkinsfile | ||
| LICENSE.md | ||
| Makefile | ||
| README.md | ||
| 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 .kmp Keyman keyboards
- core - common keyboardprocessor library
- legacy/kmflcomp - KMFL keyboard compiler
- legacy/libkmfl - older KMFL core library
- legacy/ibus-kmfl - IBUS integration 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 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 cargo python3-dbus gir1.2-webkit2-4.0 ibus libglib2.0-bin \ liblocale-gettext-perl xvfb xserver-xephyr metacity mutter
Compiling from Command Line
Build script
Installing for ibus to use 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/keyman.xmland/usr/share/keyman/icons
- and
-
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 and ibus-keyman to /tmp/keyman
This is only for testing the build, not for running ibus-keyman in ibus
Manually
- ibus-keyman requires headers and lib from keyboardprocessor
So
- 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-ibus-keyman
cd ../build-ibus-keyman
../ibus-keyman/configure
make
make install
Continuous integration
Teamcity PR builds will run make tmpinstall
Master builds run make tmpinstall and create source packages
Nightly and release 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
keyman-config
The unit tests can be run with the following command:
cd linux/keyman-config
./run-tests.sh
ibus-keyman
If you want to run the ibus-keyman tests with Wayland, you'll have to
have mutter installed (version >=40). Otherwise you'll only be able
to run the tests with X11.
The tests can be run with the following command:
cd linux/ibus-keyman/tests
./run-tests
The run-tests script accepts different arguments which can be seen with
./run-tests --help.
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 usually ibus will be restarted automatically so that ibus will
look for the new keyboard. If for whatever reason the keyboard doesn't show up in the system
keyboard list, you can manually run
ibus restart.
Activating a Keyman keyboard
Keyman tries to activate the keyboard automatically. If you want to activate it for a different language, you can do so by following the steps below.
GNOME3 (focal and bionic default, also newer Ubuntu versions)
-
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