Giter VIP home page Giter VIP logo

libmatekbd's Introduction

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

libmatekbd's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

libmatekbd's Issues

Gtk3: keyboard-layout-view does not display borders arround keys.

Keyboard-layout-view does not display borders arround keys.
gtk3:
mate-keyboard-layout-view-gtk3
gtk2:
mate-keyboard-layout-view-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.

Underlinking in 1.4.0

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.

Keyboard layout indicator on mate-panel does not update if user sets "while pressed" shortcut

Steps to reproduce:

  1. Install Ubuntu 16.04 LTS MATE (v. 1.12.1) or 18.04 LTS MATE (v. 1.20.1)
  2. Add two keyboard layouts (for example, English and Russian)
  3. Open mate-keyboard-properties
    3.1. Click Options
    3.2. In opened window expand Switching to another layout
    4.4. Check checkbox named Right Alt (while pressed) (for example).
    4.5. Close GNOME Tweaks windows
  4. Test layout switching - press and write some text

Expected results:

  • keyboard layout indicator shows second keyboard layout when user holds button and shows the first when it is not pressed

Actual results:

  • keyboard layout indicator shows only the first keyboard layout

This bug is known on Ubuntu as bug 1779333

libmatekbd: Uses deprecated gnome-common macros/variables

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.

gnome-doc-utils removal

The gnome-doc-utils build infrastructure was removed completely along
with the following macros:

 GNOME_DOC_INIT [1]
 GNOME_COMMON_INIT [2]

deprecated variables

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

deprecated 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

Flags are not scaled correctly

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.

Default layout indicator font is too small

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.

configure error

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" ;;

  • 1.5*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6 automake-1.5" ;;
  • 1.6*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6" ;;
  • 1.7*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7" ;;
  • 1.8*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8" ;;
  • 1.9*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10 automake-1.9" ;;
  • 1.10*) automake_progs="automake-1.13 automake-1.12 automake-1.11 automake-1.10" ;;
  • 1.11*) automake_progs="automake-1.13 automake-1.12 automake-1.11" ;;
  • 1.12*) automake_progs="automake-1.13 automake-1.12" ;;
  • 1.13*) automake_progs="automake-1.13" ;;
  • 1.5*) automake_progs="automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6 automake-1.5" ;;
  • 1.6*) automake_progs="automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7 automake-1.6" ;;
  • 1.7*) automake_progs="automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8 automake-1.7" ;;
  • 1.8*) automake_progs="automake-1.12 automake-1.11 automake-1.10 automake-1.9 automake-1.8" ;;
  • 1.9*) automake_progs="automake-1.12 automake-1.11 automake-1.10 automake-1.9" ;;
  • 1.10*) automake_progs="automake-1.12 automake-1.11 automake-1.10" ;;
  • 1.11*) automake_progs="automake-1.12 automake-1.11" ;;
  • 1.12*) automake_progs="automake-1.12" ;;
    esac
    version_check automake AUTOMAKE "$automake_progs" $REQUIRED_AUTOMAKE_VERSION
    "http://ftp.gnu.org/pub/gnu/automake/automake-$REQUIRED_AUTOMAKE_VERSION.tar.gz"

Command to show keyboard layout diagram similar to gkbd-keyboard-display

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)"

image

$ 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

It is not possible to assign keyboard shortcuts to switch keyboard layouts when using the Ukrainian interface language

Expected behaviour

A user using the Ukrainian interface language can assign a keyboard shortcut to switch between keyboard layouts.

Actual behaviour

After pressing the Options ... button, the settings utility closes and the focus hits the desktop.

Steps to reproduce the behaviour

Environment: Ukrainian interface language; Assistive technologies are enabled because the Orca screen reader is used.

Steps to reproduce:

  1. Press the ALT + F1 key combination to enter the main menu;

  2. Submenu System (Система);

  3. Submenu Preferences (Параметри);

  4. Submenu Hardware (Обладнання). In MATE from branch 1.22, this menu item is translated into Ukrainian otherwise: Апаратне забезпечення;

  5. Activate the item Keyboard (Набірниця);

  6. Select a tab Layouts (Розкладки);

  7. 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.

MATE general version

1.22.2

This problem is also relevant for all MATE versions from branch 1.20.

Package version

1.22.0

Linux Distribution

Ubuntu (18.04 and later, including 19.10). Fedora (30, 31).

Link to downstream report of your Distribution

https://bugs.launchpad.net/ubuntu-mate/+bug/1813758

Many thanks for fixing this issue. Sorry for my bad English.

Option to fix swapped key on ISO Apple USB aluminium keyboard

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.

[OBS-build] Builds warnings

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]

activating XKB fails in Mate 1.8.0-1

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

kbd

build issue if build from master

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

Color of layout indicator text is green when antialiasing in font.conf is turned on

Expected behaviour

The layout indicator text should be the same as the theme text color.

Actual behaviour

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).

Steps to reproduce the behaviour

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:

Screenshot at 2020-12-10 21-27-57

MATE general version

1.24.1

Package version

libmatekbd v.1.24.1

Linux Distribution

Tested on Manjaro and Ubuntu MATE 20.10

Link to bugreport of your Distribution

Not distro-specific

P.S.

It's not the first mention of the bug: #28 (comment)

Build issue on Arch

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

flags are broken in MATE >= 1.6

No flag image is shown except an error icon. Confirmed on Mint 17 and gentoo.

gsettings set org.mate.peripherals-keyboard-xkb.indicator show-flags true

keyboard_flag_error

No changes the layout if CapsLock pressed rapidly

Expected behaviour

after CapsLock the layout has to be changed to russian, and in place of "Rh" has to be "Кр"

Actual behaviour

The layout doesn't change.

Steps to reproduce the behaviour

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)

MATE general version

1.18.0

Package version

actual from the mint repos

Linux Distribution

Linux Mint 18.3

Link to downstream report of your Distribution

reported directly here.

German ß can't be inserted with compose key

Expected behavior

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 = ß

Actual behavior

All these work
compose key + " + A = Ä

compose key + " + O = Ö

compose key + " + U = Ü

Typing the combinations specified in above does not enter ß.

Steps to reproduce the behavior

Install mate desktop 1.22.1 set compose key and try to enter the key combinations.

MATE general version

1.22

Package version

1.22.1

Linux Distribution

Gentoo.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.