summaryrefslogtreecommitdiff
path: root/libcaribou/xadapter.vala
Commit message (Collapse)AuthorAgeFilesLines
* xadapter.vala: Remove XkbKeyTypesMask and fields from XKbChangeMap call.Michael Webster2021-01-131-7/+2
| | | | | | | | | | | This was originally a workaround for xFree86 4.3 - see: https://bugzilla.gnome.org/show_bug.cgi?id=673547 ​ As of https://gitlab.freedesktop.org/xorg/xserver/-/commit/87c64fc5b0 this causes a BadLength error when attempting to use shifted characters. ​ Ref: https://www.x.org/releases/X11R7.7/doc/libX11/XKB/xkblib.html#Changing_Map_Components_in_the_Server
* xadapter: Avoid a crash when Xkl doesn't know the real xkb groupsRui Matos2015-10-131-2/+11
| | | | | | | | | | | | | | | Xkl.ConfigRec gets its layouts and variants from the _XKB_RULES_NAMES root window property which isn't specified anywhere and in fact doesn't get set under Xwayland. The group index though is accurate which means that we might end up trying to access an invalid index on the layouts or variants array and crashing. Avoid this by just lying to the caller since we can't obtain the real layout/variant names in that case. Since this only happens under Xwayland and in that case the only consumer of this API is gnome-shell which ends up not using the names, this should be safe. https://bugzilla.gnome.org/show_bug.cgi?id=756194
* xadapter: disable slowkeys when sending key eventManuel BACHMANN2013-11-051-0/+20
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=698746
* libcaribou: factor out X dependencyDaiki Ueno2013-08-091-29/+17
| | | | | | | This patch adds a new abstract class DisplayAdapter to handle multiple display backends, other than X. https://bugzilla.gnome.org/show_bug.cgi?id=705720
* Track XKB group configuration changeDaiki Ueno2013-02-181-0/+6
| | | | | | | | | | | | Since GNOME 3.6, switching XKB layouts changes the group configuration, while libcaribou assumes that the configuration is fixed during the session. This patch tries to track group configuration changes and allow clients to reconstruct keyboard UI through two new signals: KeyboardModel::group-added and KeyboardModel::group-removed. https://bugzilla.gnome.org/show_bug.cgi?id=694011
* libcaribou: fix dereferencing Gdk.XEvent pointer with Vala 0.16Daiki Ueno2013-01-211-0/+11
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=691992
* libcaribou: avoid integer overflowDaiki Ueno2013-01-111-5/+5
| | | | | | | | Since Xkb.Desc.{min,max}_keycode and Xkb.SymMap.width are defined as uchar, for-loops over them with an uchar index may not stop, if the upper bound is uchar.MAX or the lower bound is 0. https://bugzilla.gnome.org/show_bug.cgi?id=691463
* Add valadoc comment to each public class.Daiki Ueno2012-12-301-0/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=687244
* libcaribou: refactor some codeDaiki Ueno2012-11-221-31/+21
| | | | | | | | Use Gee lists and hashtables extensively instead of GLib's; specify proper cname to libxklavier signals to avoid using a static signal handler; remove unnecessary "using". https://bugzilla.gnome.org/show_bug.cgi?id=688517
* xadapter: use level3 shift if possibleDaiki Ueno2012-10-301-4/+28
| | | | | | | | Some international keyboards (such as Czech) assign more than two keysyms to each key. Use level 3 shift modifier (so called AltGr) to designate those keysyms and avoid needless keysym remapping. https://bugzilla.gnome.org/show_bug.cgi?id=687018
* xadapter: use XkbChangeMap instead of XkbSetMapDaiki Ueno2012-10-261-7/+12
| | | | | | | Optimize keycode replacement logic using XkbChangeMap instead of XkbSetMap. https://bugzilla.gnome.org/show_bug.cgi?id=673547
* xadapter: specify core device when calling XkbSetMapDaiki Ueno2012-10-261-0/+1
| | | | | | | | device_spec needs to be specified when calling XkbSetMap so that the keymap change affects XTestFakeKeyEvent. Also fix the type of syms field in XkbClientMap Vala binding. https://bugzilla.gnome.org/show_bug.cgi?id=673547
* libcaribou: simplify using xtst.vapi provided by valaDaiki Ueno2012-10-081-4/+7
| | | | | | | | XTest.send_fake_key event and X.keysym_to_keycode are now available in vapi files in vala distribution. Also fix some compiler warnings. https://bugzilla.gnome.org/show_bug.cgi?id=685607
* libcaribou: Ignore level 3 keysyms when looking up keycodeDaiki Ueno2012-10-051-2/+5
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=673579
* Fix Vala compilation problemBastien Nocera2011-08-101-1/+1
| | | | | | | | | Fixes the following error: xadapter.vala:42.29-42.80: error: duplicating Display instance, use unowned variable or explicitly invoke copy method this.xdisplay = Gdk.X11Display.get_xdisplay (rootwin.get_display ()); ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ https://bugzilla.gnome.org/show_bug.cgi?id=655980
* Add Ctrl/Alt functionalityEitan Isaacson2011-07-181-0/+10
| | | | Based on a patch by Nohemi Fernandez <nf68@cornell.edu>.
* xadapter: get all group information from libxklavierDan Winship2011-06-081-14/+24
| | | | | | | | | | | The XkbStateNotifyEvent "group" field does not seem to correspond reliably to libxklavier group numbers, resulting in warnings and crashes when we try to look up the libxklavier group name corresponding to an apparently-bogus group number. Fix this by using Xkl.State's group rather than the Xkb event's. https://bugzilla.gnome.org/show_bug.cgi?id=651724
* Add global keypress listener to XAdapter.Eitan Isaacson2011-05-281-19/+101
|
* libcaribou: Fix one XKB group case.Eitan Isaacson2011-05-021-8/+15
|
* libcaribou: Ported XKB helper to Vala.Eitan Isaacson2011-05-021-0/+213