mate-desktop / libmatekbd Goto Github PK
View Code? Open in Web Editor NEWKeyboard management library
Home Page: https://mate-desktop.org
License: GNU Lesser General Public License v2.1
Keyboard management library
Home Page: https://mate-desktop.org
License: GNU Lesser General Public License v2.1
mate-desktop ============= mate-desktop contains the libmate-desktop library, the mate-about program as well as some desktop-wide documents. The libmate-desktop library provides API shared by several applications on the desktop, but that cannot live in the platform for various reasons. There is no API or ABI guarantee, although we are doing our best to provide stability. Documentation for the API is available with gtk-doc. The mate-about program helps find which version of MATE is installed. You may download updates to the package from: http://pub.mate-desktop.org/releases/ Installation ============ If you are not using a released version of mate-desktop (for example, if you checked out the code from git), you first need to run './autogen.sh'. How to report bugs ================== Bugs should be reported to the MATE bug tracking system: https://github.com/mate-desktop/mate-desktop/issues
Keyboard-layout-view does not display borders arround keys.
gtk3:
gtk2:
I found this screenshot of libgnomekbd-3.0.0, so it is possible to have the borders with gtk3.
https://bugzilla.gnome.org/show_bug.cgi?id=647646
https://bug647646.bugzilla-attachments.gnome.org/attachment.cgi?id=185862
For the moment i added this theme hack to mate-themes or ubuntuMate-themes.
mate-desktop/mate-themes@4502fde
Edit: Those commits are needed to see the theme hack:
9b2b197
cf440b2
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Initial work is done with https://github.com/mate-desktop/libmatekbd/tree/dev-flags
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Please add disable rpath configure option or remove it entirely.
If you use the gold linker from binutils 2.22, and attempt to link libmatekbd, it will fail due to -lm not being specified.
There is also an issue with glib 2.32+ due to splitting glib/gmodule so instead of just requiring lglib-2.0 you now have to add in lgmodule-2.0.
Steps to reproduce:
mate-keyboard-properties
Expected results:
Actual results:
This bug is known on Ubuntu as bug 1779333
Forwarding Debian bug 830041 to upstream (see https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=830041) and mate-desktop/mate-common#21 for similar issue.
gnome-common did a cleanup upstream and deprecated quite a few macros
and variables.
The gnome-doc-utils build infrastructure was removed completely along
with the following macros:
GNOME_DOC_INIT [1]
GNOME_COMMON_INIT [2]
The following variables used in gnome-autogen.sh have been declared
deprecated [3]:
REQUIRED_GNOME_DOC_UTILS_VERSION
REQUIRED_DOC_COMMON_VERSION
USE_COMMON_DOC_BUILD
FORBIDDEN_M4MACROS
GNOME2_DIR
GNOME2_PATH
USE_GNOME2_MACROS
The following macros have also been declared deprecated:
GNOME_COMPILE_WARNINGS [4]
GNOME_CXX_WARNINGS [5]
Upstream has documentation at [6] with how you can fix your package and
why those particular changes were made.
According to codesearch.d.n your package libmatekbd uses one of the macros or
variables so might be affected, especially once you run autoreconf. Please
update your package accordingly and forward it to upstream if possible.
If you have further question, please don't hesitate to ask.
Regards,
Michael
[1] https://git.gnome.org/browse/gnome-common/commit/?id=6684e2fa5
[2] https://git.gnome.org/browse/gnome-common/commit/?id=1f60e9536
[3] https://git.gnome.org/browse/gnome-common/commit/?id=4c8d8ad93
[4] https://git.gnome.org/browse/gnome-common/commit/?id=b57bae0be
[5] https://git.gnome.org/browse/gnome-common/commit/?id=2bffd7e1u
[6] https://wiki.gnome.org/Projects/GnomeCommon/Migration
I enabled showing flags by
gsettings set org.mate.peripherals-keyboard-xkb.indicator show-flags true
and adding flags to ~/.icons/flags.
The flags appear and work as they should in all respects except one; the aspect ratio of the status icon in the panel is not correct. Instead of keeping the shape of the input image, it is stretched to span the entire space of the status icon. I believe this is a bug.
Btw, the icon showed at other places e.g. when unlocking the screen lock or in lightdm is correct, so this seams to be limited to libmatekbd-status.[ch].
Although I have absolutely no experience with gnome/gtk/gdk programming, I looked in the code to see if I could find anything. As far I understand, the flag image is loaded in libmatekbd-status.c:312:
image = gdk_pixbuf_new_from_file_at_size (image_filename,
globals.current_width,
globals.current_height,
&gerror);
Now, this should do the right thing and maintain the aspect ratio, at least according to the manual.
In my infinite ignorance, here is where I'm stuck. I would be happy very grateful for some hints and pointers on where to continue with this!
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Expected behaviour
The layout indicator has normal readable size, for example - https://imgur.com/PQ7AcVH
Actual behaviour
The layout indicator is too small by default - https://imgur.com/YF3XAp1
Steps to reproduce the behaviour
Look at the layout indicator and see
MATE general version
MATE 1.20.1
Package version
1.20.1
Linux Distribution
Linux Mint 19 Tara 64-bit MATE Edition
It is too small obviously, especially on HiDPI screens. I've changed it here org.mate.peripherals-keyboard-xkb.indicator font-family, but consider to make it bigger by default please.
when trying to build this on archlinux it will not detect automake 1.13 mate-autogen needs to be modified so that it detects automake 1.13
here is a patch that at least fixes it for me, I don't know if this is the right place but this is the one I experienced the error with
diff --git a/usr/bin/mate-autogen b/home/zachthibeau/mate-autogen
old mode 100755
new mode 100644
index 05ace75..46422e0
--- a/usr/bin/mate-autogen
+++ b/home/zachthibeau/mate-autogen
@@ -316,15 +316,14 @@ AUTOHEADER=echo $AUTOCONF | sed s/autoconf/autoheader/
case $REQUIRED_AUTOMAKE_VERSION in
1.4*) automake_progs="automake-1.4" ;;
libgnomekbd has a command gkbd-keyboard-display
(source https://github.com/GNOME/libgnomekbd/blob/master/libgnomekbd/gkbd-keyboard-display.c) (included in package https://packages.debian.org/stable/gkbd-capplet) to show a keyboard layout.
Is there any similar command in in libmatekbd?
gkbd-keyboard-display -l "gb(extd)"
$ gkbd-keyboard-display --help
Usage:
gkbd-keyboard-display [OPTION…]
Help Options:
-h, --help Show help options
--help-all Show all help options
--help-gtk Show GTK Options
Application Options:
-g, --group=group number (1, 2, 3, 4) Group to display
-l, --layout=layout (with optional variant) Layout to display
--display=DISPLAY X display to use
A user using the Ukrainian interface language can assign a keyboard shortcut to switch between keyboard layouts.
After pressing the Options ... button, the settings utility closes and the focus hits the desktop.
Environment: Ukrainian interface language; Assistive technologies are enabled because the Orca screen reader is used.
Steps to reproduce:
Press the ALT + F1 key combination to enter the main menu;
Submenu System (Система);
Submenu Preferences (Параметри);
Submenu Hardware (Обладнання). In MATE from branch 1.22, this menu item is translated into Ukrainian otherwise: Апаратне забезпечення;
Activate the item Keyboard (Набірниця);
Select a tab Layouts (Розкладки);
Press the button Options... (Параметри...).
When you click this button, the keyboard setup utility closes and the focus falls onto the desktop. As a result, the user can not configure the keyboard shortcuts to switch between keyboard layouts.
1.22.2
This problem is also relevant for all MATE versions from branch 1.20.
1.22.0
Ubuntu (18.04 and later, including 19.10). Fedora (30, 31).
https://bugs.launchpad.net/ubuntu-mate/+bug/1813758
Many thanks for fixing this issue. Sorry for my bad English.
There is a bug largely detailed at https://bugs.launchpad.net/ubuntu/+source/linux/+bug/214786: on ISO Apple USB aluminium keyboard, the key right to the left shift key, which is usually not a letter on keyboard layouts using this physical layout (one more key on this row as compared with US) is swapped with the leftmost key on the numeric row.
So far, the only solution seems to be what is in https://help.ubuntu.com/community/AppleKeyboard in "Correcting swapped keys and wrong keymaps for international (non-US) keyboards".
This solution was confirmed to work by several people (including me) but it would be more user-friendly to have an option in the GUI e.g. "Fix swapped key in ISO Apple USB aluminium keyboard" which fixes that.
EDIT: I forgot to mention that I am running Trisquel, based on Ubuntu, and which has MATE as default desktop environment.
7 years ago GkbdConfiguration (for introspection) has been introduced in libgnomekbd: GNOME/libgnomekbd@11bb638 (and improved in a dozen of commits then).
It is needed e.g. to switch current keyboard layout programmatically.
Hi ! These is some build warnings appeared during build process
matekbd-indicator.c: In function 'matekbd_indicator_fill':
matekbd-indicator.c:205:10: warning: unused variable 'full_group_name' [-Wunused-variable]
matekbd-indicator.c: In function 'matekbd_indicator_load_group_names':
matekbd-indicator.c:530:18: warning: initialization from incompatible pointer type [enabled by default]
matekbd-status.c: In function 'matekbd_status_load_group_names':
matekbd-status.c:475:18: warning: initialization from incompatible pointer type [enabled by default]
matekbd-keyboard-drawing.c: In function 'matekbd_keyboard_drawing_new_dialog':
matekbd-keyboard-drawing.c:2595:3: warning: implicit declaration of function 'xkl_xkb_config_native_prepare' [-Wimplicit-function-declaration]
matekbd-keyboard-drawing.c:2600:4: warning: implicit declaration of function 'xkl_xkb_config_native_cleanup' [-Wimplicit-function-declaration]
matekbd-status-test.c: In function 'main':
matekbd-status-test.c:42:17: warning: variable 'icon' set but not used [-Wunused-but-set-variable]
OS: Debian Testing/Buster
libmatekbd: 1.18.2-1
The language indicator is missing. I can get it back if I delete 2nd layout and add it again but that works only until next reboot.
Want to back this issue? Post a bounty on it! We accept bounties via Bountysource.
Mate 1.8.0-1 from Arch Linux repository started to give error message box every time on session start.
libxklavier 5.3-2 (Install date 01 Jul 2014)
xprop -root | grep XKB
_XKB_RULES_NAMES_BACKUP(STRING) = "evdev", "pc104", "us", "", ""
_XKB_RULES_NAMES(STRING) = "evdev", "pc104", "us", "", ""
gsettings list-keys org.mate.peripherals-keyboard-xkb.kbd
layouts
model
options
@stefano-k: since the fix for GLib issue needs to make it to 1.8.x releases, please create 1.8 branch in this repo from 386f934.
After that, 7e04915 should be cherry-picked there. It's release critical for a new 1.8 tarball as agreed with @flexiondotorg.
libtoolize: copying file `m4/lt~obsolete.m4'
autoreconf: running: /usr/bin/autoconf --force --warnings=no-portability
autoreconf: running: /usr/bin/autoheader --force --warnings=no-portability
autoreconf: running: automake --add-missing --copy --force-missing --warnings=no-portability
configure.ac:62: installing './compile'
configure.ac:66: installing './config.guess'
configure.ac:66: installing './config.sub'
configure.ac:16: installing './install-sh'
configure.ac:16: installing './missing'
Makefile.am: installing './INSTALL'
libmatekbd/Makefile.am:119: error: HAVE_INTROSPECTION does not appear in AM_CONDITIONAL
libmatekbd/Makefile.am:137: warning: CLEANFILES was already defined in condition TRUE, which includes condition HAVE_INTROSPECTION ...
libmatekbd/Makefile.am:60: ... 'CLEANFILES' previously defined here
libmatekbd/Makefile.am: installing './depcomp'
test/Makefile.am:10: warning: variable 'common_LDFLAGS' is defined but no program or
test/Makefile.am:10: library has 'common' as canonical name (possible typo)
autoreconf: automake failed with exit status: 1
Fehler: Fehler-Status beim Beenden von /var/tmp/rpm-tmp.973Xdo (%prep)
Last git commit is 5d94970
The layout indicator text should be the same as the theme text color.
The layout indicator text is green'ish with antialiasing turned on when text is light (when themes with the black text are used everything is ok).
Make a font config file in ~/.config/fontconfig/fonts.conf with antialiasing turned on:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE fontconfig SYSTEM "fonts.dtd">
<fontconfig>
<match target="font">
<edit name="antialias" mode="assign">
<bool>true</bool>
</edit>
<edit name="hinting" mode="assign">
<bool>true</bool>
</edit>
<edit name="hintstyle" mode="assign">
<const>hintslight</const>
</edit>
<edit name="rgba" mode="assign">
<const>rgb</const>
</edit>
<edit name="autohint" mode="assign">
<bool>false</bool>
</edit>
<edit name="lcdfilter" mode="assign">
<const>lcddefault</const>
</edit>
</match>
</fontconfig>
and that's what I get:
1.24.1
libmatekbd v.1.24.1
Tested on Manjaro and Ubuntu MATE 20.10
Not distro-specific
It's not the first mention of the bug: #28 (comment)
As seen in this screenshot https://i.imgur.com/VRBC772.jpg the indicator text that shows the current layout is white. And it is always white regardless of the theme being used. This happens only on gtk3 builds. @raveit65 also confirmed this. libmatekbd version:
[*] libmatekbd-1.12.0_1 MATE keyboard library
There is a $10 open bounty on this issue. Add to the bounty at Bountysource.
I tried to build 1.2 with Arch and am having strange build issues. Not sure if this is caused by an update on my system or what. When I start the build, it automatically creates folders named 'pkg' and 'src'. This is normal behavior. Part way through the build, it creates a 'pkg"' folder. That folder structure looks like 'pkg"/usr/share/libmatekbd/ui"'. This causes the build to fail because it is looking for the folder structure without the quotes in the folder names.
/pkg"/usr/share/libmatekbd/ui" <- how it looks
/pkg/usr/share/libmatekbd/ui <- how it should look
after CapsLock the layout has to be changed to russian, and in place of "Rh" has to be "Кр"
The layout doesn't change.
Case: Press rapidly (velocity 300-500signs/m) "R" "h" "BS" "BS" "CapsLock" "R" "h"...
Sometimes the bug is not triggered. But in a 50% of cases I need to wait a half of second before press CapsLock to change the layout.
I think the pressing Shift before switching triggers the bug (as for Rh the bug is triggered and for "rh" no)
1.18.0
actual from the mint repos
Linux Mint 18.3
reported directly here.
I configured the compose key to be AltGr on my laptop, using mate 1.22.1.
These should work.
compose key + " + ss = ß
or
compose key + ss = ß
All these work
compose key + " + A = Ä
compose key + " + O = Ö
compose key + " + U = Ü
Typing the combinations specified in above does not enter ß.
Install mate desktop 1.22.1 set compose key and try to enter the key combinations.
1.22
1.22.1
Gentoo.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.