Commit graph

1873 commits

Author SHA1 Message Date
Eberhard Beilharz
6f31014ba0
fix(linux): Don't crash displaying keyboard details
At least one user got a crash trying to click on the "About" button
to display keyboard details for the ekwtamil99uni keyboard. I can't
reproduce the problem, but this change adds additional code that
should prevent the crash from happening.

Fixes #5756.

(cherry picked from commit 3d44b9987d)
2021-09-27 17:43:51 +02:00
Eberhard Beilharz
ed1746d3d0
fix(linux): Don't crash with non-keyboard package file
If a user tries to a install a model .kmp file, we now display a
message box instead of crashing.

Fixes #5753.

(cherry picked from commit 98e1269ae2)
2021-09-27 17:07:35 +02:00
Darcy Wong
d089b962af chore(common): Check in crowdin strings for Shuwa Latin 2021-09-21 14:42:58 +07:00
Darcy Wong
349ed55840 chore(common): Update strings
* also includes untranslated strings (fallback to English)
2021-09-16 08:29:29 +07:00
Darcy Wong
091628aed2 chore(common): Update additional strings 2021-09-14 06:08:13 +07:00
Darcy Wong
42197c896b chore(common): Check in crowdin strings for simplified Chinese 2021-09-13 12:16:58 +07:00
Eberhard Beilharz
df156672a3
Merge pull request #5655 from keymanapp/fix/linux/language
fix(linux): Use first keyboard language if none given
2021-09-01 09:05:47 +02:00
Eberhard Beilharz
27cede213c
fix(linux): Fix km-config man page
Previously the included file replaced the entire description,
including the parameters. With this change the text from the include
file gets added to the beginning of the description.
2021-08-31 08:26:07 +02:00
Eberhard Beilharz
8eb2a3c738
fix(linux): Fix launch of km-config
km-config provides a .desktop file that allows the user to start
the configuration app like any other app. Unfortunately, a recent
change that improved the consistency of the manual pages broke
that because the .desktop file used to call km-config with the
parameter `-i` (plus file if given). With the recent change `-i`
now requires a filename, which caused `km-config` to output an error
and quit. For the user this looked like it didn't do anything.

This change adds the file/url as a new optional positional parameter
while keeping the existing `-i`/`--install` parameter.
2021-08-31 08:26:07 +02:00
Eberhard Beilharz
fe0e423433
fix(linux): Use first keyboard language if none given
This fixes a bug introduced in #3290 where we added using the
language from search. Unfortunately that broke things in a lot of
other places because we didn't test for the empty string.
2021-08-27 11:04:42 +02:00
Eberhard Beilharz
5a3ef13ddd
chore(linux): Update changelog files
This updates the changelog files to match what got uploaded into
Debian unstable (sid).
2021-08-25 17:06:24 +02:00
Eberhard Beilharz
d8ec847b6a
Merge pull request #5623 from keymanapp/chore/linux/sentry
chore(linux): Fix uploading to Sentry
2021-08-25 15:05:48 +02:00
Eberhard Beilharz
690dc81514
chore(linux): Improve debian package script
- allow to specify distribution

(cherry picked from commit aa8a0547e8)
2021-08-23 18:38:17 +02:00
Eberhard Beilharz
c3540e9f37
chore(linux): Fix uploading to Sentry
On local builds we shouldn't upload errors to Sentry. The
`build-utils.sh` script sets the `UPLOAD_SENTRY` environment variable
for that purpose. Also, Sentry doesn't like having an empty string
as pkgversion (which should no longer happen with the rest of this
change, but...)
2021-08-23 16:24:13 +02:00
Eberhard Beilharz
105fe50597
fix(linux): Fix uploading to launchpad for legacy projects 2021-08-20 10:58:04 +02:00
Eberhard Beilharz
76956bab4f
Merge pull request #5601 from keymanapp/fix/linux/issue-5591
fix(linux): Fix lost context after pressing K_SHIFT 🚧
2021-08-20 10:53:00 +02:00
Eberhard Beilharz
52608d39b9
fix(linux): Fix uploading to launchpad
Follow-up of #5536.
2021-08-19 11:56:10 +02:00
Eberhard Beilharz
f0c3280517
fix(linux): Fix lost context after pressing K_SHIFT
This fixes typing `n>` with sil_ipa keyboard which no longer output
the expected `ŋ` because pressing the shift key reset the context.

For modifier key presses we now exit `KMX_ProcessEvent::ProcessEvent`
early.

This change also removes a redundant line from engine.c. Clearing
the context happens in `reset_context()` again if necessary.

Fixes #5591.
2021-08-18 19:26:45 +02:00
Eberhard Beilharz
163874b81d
Merge pull request #5585 from keymanapp/fix/linux/5584-badimage
fix(linux): Handle corrupt icon file
2021-08-17 11:43:58 +02:00
Eberhard Beilharz
c8049a0cd2
fix(linux): Handle corrupt icon file
Fixes #5584.
2021-08-16 15:55:36 +02:00
Eberhard Beilharz
a98300f769
fix(linux): Fix failing tests 2021-08-16 11:56:05 +02:00
Eberhard Beilharz
58742b1a46
fix(linux): Check for valid zip file in km-package-install as well 2021-08-16 11:03:23 +02:00
Eberhard Beilharz
d48b5194e1
fix(linux): Check for valid kmp file
Before trying to install we now check if it's a valid zip file.
This fixes #5575.
2021-08-16 10:58:50 +02:00
Eberhard Beilharz
5e6de93e42
Merge pull request #5565 from keymanapp/docs/linux/ibus
docs(linux): Fix readme for ibus-keyman
2021-08-09 08:14:40 +02:00
Eberhard Beilharz
3f9c1a380a
docs(linux): Fix readme for ibus-keyman
Turns out setting `KEYMAN_PROC_CFLAGS` isn't sufficient to use header
files from source repo.
2021-08-06 16:55:02 +02:00
Eberhard Beilharz
c9497fd494
feat(common/core): Implement shiftFreesCaps and capsOnOnly 2021-08-06 16:13:58 +02:00
Eberhard Beilharz
cfeb9e820e
chore(linux): Implement Linux side of caps-lock action processing 2021-08-06 12:20:23 +02:00
Eberhard Beilharz
dabfea57ab
Merge pull request #5536 from keymanapp/chore/linux/5022-debian
chore(linux): Consolidate Debian source packages 📦
2021-08-06 12:02:54 +02:00
Eberhard Beilharz
43c920fec3
chore(linux): fix ibus-keyman test 2021-08-06 11:25:01 +02:00
Eberhard Beilharz
46e6d20f35
refactor(linux): Move KMFL to linux/legacy 2021-08-06 11:25:01 +02:00
Eberhard Beilharz
34b0932173
chore(linux): Depend on keyman-engine
This change adds a virtual package `keyman-engine` which ibus-keyman
provides. keyman-config can then depend on this virtual package.
This allows to use fcitx instead of ibus if the fcitx-keyman package
provides that virtual package as well.
2021-08-06 11:25:00 +02:00
Eberhard Beilharz
3d10e6100f
chore(linux): Remove no longer needed debian directories
The previous commit created a consolidated toplevel `debian`
directory.
2021-08-06 11:25:00 +02:00
Eberhard Beilharz
79f92a150c
chore(linux): Consolidate Debian source packages
This change consolidates the Debian packages into a single source
package, with the exception of the legacy KMFL packages.

Fixes #5022.
2021-08-06 11:25:00 +02:00
Eberhard Beilharz
f08444019b
chore(linux): Remove compiler warning in ibus-keyman
This change replaces the deprecated `g_type_class_add_private`
and `G_TYPE_INSTANCE_GET_PRIVATE` with `G_DEFINE_TYPE_WITH_PRIVATE`
and the generated method `km_service_get_instance_private`.
2021-08-04 16:54:26 +02:00
Eberhard Beilharz
a2950bef7f
refactor(linux): Cleanup import of os.path
This change imports `os` instead of `os.path`. This is the
recommended way. It also reduces confusion whether to use
`os.path.whatever()` or just `path.whatever()`.
2021-08-04 12:24:07 +02:00
Eberhard Beilharz
77d0d96480
refactor(linux): Reformat keycode_to_vk table
Also update comment where these values come from.
2021-08-04 12:00:36 +02:00
Eberhard Beilharz
c78800d4d8
fix(linux): Improve uninstallation
Previously uninstalling of a keyboard failed if the directory was
a symlink (e.g. with keyboards from unit tests). This change treats
symlinks differently.

Fixes Sentry issue KEYMAN-LINUX-32.
2021-08-04 11:24:03 +02:00
Eberhard Beilharz
219e304d7b
chore(linux): Remove Groovy and Impish builds
- **Groovy** is EOL
- llso is not yet capable of processing **Impish** packages because
  of an too old version of reprepro (which currently can't be updated
  because of an tool old version of the OS). Therefore Jenkins builds
  for Impish fail, so this change removes Impish from Jenkins builds.
  We continue to build for Impish on Launchpad.
2021-07-28 09:05:48 +02:00
Marc Durdin
5a94012f01
Merge branch 'chore/common/core/debug-additional-tests' into chore/common/core/5488-delete-markers-reliably 2021-07-27 08:23:24 +10:00
Marc Durdin
796a2d4c85 chore(common/core): handle deletion of markers in actions
Fixes #5488.

This updates Keyman Core, corresponding tests, and Keyman Engine for
Linux to support deletion of markers through an action, ensuring that
the action queue does not desynchronize with the context.
2021-07-26 15:23:20 +10:00
Eberhard Beilharz
0eca43d4ea
feat(common/core): Implement capsAlwaysOff system store
This change implements the core part in a way that makes the tests
pass. This still needs corresponding changes in the engine.
2021-07-23 10:25:28 +02:00
Eberhard Beilharz
84aa50b82f
chore(linux): Update sample vscode settings for Linux 2021-07-23 10:16:14 +02:00
Eberhard Beilharz
ec03190f89
refactor(linux): reformat code 2021-07-20 10:07:42 +02:00
Eberhard Beilharz
de1d345408
refactor(linux): Re-add lost keys 2021-07-09 16:18:28 +02:00
Eberhard Beilharz
cda195390b
refactor(linux): Refactor processing actions in separate methods 2021-07-08 18:30:16 +02:00
Eberhard Beilharz
3bd0173954
fix(linux): Don't crash with corrupt keyboard
If we try to install a keyboard that's missing some metadata
we shouldn't crash.

Fixes #5384, #5385.
2021-07-01 12:49:50 +02:00
Eberhard Beilharz
8b1a529f43
Merge pull request #5401 from keymanapp/fix/linux/issue-5400
fix(linux): Improve bitmap conversion
2021-07-01 09:00:41 +02:00
Eberhard Beilharz
f519c2447d
fix(linux): Improve bitmap conversion
Converting some bitmaps fail with a truncation error. This change
allows to successfully convert the bitmap files.

Fixes #5400.
2021-06-30 18:57:22 +02:00
Eberhard Beilharz
4d70382cbb
docs(linux): Improve help texts 2021-06-30 18:12:28 +02:00
Eberhard Beilharz
ca92c267e2
fix(linux): help2md tool 2021-06-30 18:12:22 +02:00