libxkbcommon 1.7.0 - 2024-03-24
==
API
---
### New
- Added early detection of invalid encodings and BOM for keymaps, rules &
Compose.
Also added a hint that the expected encoding must be UTF-8 compatible.
### Fixes
- Updated keysyms using latest [xorgproto] (commit:
This release contains the accumulated changes to xkbcommon from the last ~year.
I'm happy to announce we are joined by a new maintainer, Pierre Le Marre
(Wismill), who wrote the majority of features, bug fixes and documentation
improvements in this release, with very high care and quality. Welcome
libxkbcommon 1.5.0
==
- Add `xkb_context` flag `XKB_CONTEXT_NO_SECURE_GETENV` and `rxkb_context` flag
`RXKB_CONTEXT_NO_SECURE_GETENV`.
xkbcommon uses `getenv_secure()` to obtain environment variables. This flag
makes xkbcommon use `getenv()` instead.
This is useful for
libxkbcommon 1.3.1
==
- In `xkbcli interactive-x11`, use the Esc keysym instead of the Esc keycode
for quitting.
Contributed by Simon Ser.
- In `xkbcli how-to-type`, add `--keysym` argugment for how to type a keysym
instead of a Unicode codepoint.
- Fix a crash in
libxkbcommon 1.3.0
==
- Change `xkbcli list` to output YAML, instead of the previous ad-hoc format.
This allows to more easily process the information in a programmatic way, for
example
xkbcli list | yq -r ".layouts[].layout"
Contributed by Peter Hutterer.
-
libxkbcommon 1.2.1
=
- Fix `xkb_x11_keymap_new_from_device()` failing when the keymap contains key
types with missing level names, like the one used by the `numpad:mac` option
in xkeyboard-config. Regressed in 1.2.0.
Tarball:
git tag: xkbcommon-1.2.1
libxkbcommon 1.2.0
==
- `xkb_x11_keymap_new_from_device()` is much faster. It now performs only 2
roundtrips to the X server, instead of dozens (in first-time calls).
Contributed by Uli Schlachter.
- Case-sensitive `xkb_keysym_from_name()` is much faster.
- Keysym names of
Note: the https://xkbcommon.org website is not updated yet with the tarball and
documentation for this release, while we're sorting out some issues. Instead
the tarball was uploaded to GitHub. Sorry for the inconvenience.
libxkbcommon 1.1.0
==
- Publish the
libxkbcommon 1.0.3
==
- Fix (hopefully) a segfault in xkb_x11_keymap_new_from_device() in some
unclear situation (bug introduced in 1.0.2).
- Fix keymaps created with xkb_x11_keymap_new_from_device() don't have level
names (bug introduced in 0.8.0).
Tarball:
git
libxkbcommon 1.0.2
===
- Fix a bug where a keysym that cannot be resolved in a keymap gets compiled to
a garbage keysym. Now it is set to XKB_KEY_NoSymbol instead.
- Improve the speed of xkb_x11_keymap_new_from_device() on repeated calls in the
same xkb_context().
Tarball:
This is a fixup release to 1.0.0 to fix a failing test.
libxkbcommon 1.0.1
==
- Fix the tool-option-parsing test failing.
- Remove requirement for pytest in the tool-option-parsing test.
- Make the table output of `xkbcli how-to-type` aligned.
- Some portability and test
xkbcommon had its first commit on Jan 13, 2009, and its first release
with the current API on Oct 24, 2012. Since then, the API and ABI have
been stable. So it seems about time to call it 1.0.0!
This release contains a lot of work by Peter to start and fix a longstanding
deficiency of XKB -- that
libxkbcommon 0.10.0
===
- (security) Fix quadratic complexity in the XKB file parser. See commit
message 7c42945e04a2107827a057245298dedc0475cc88 for details.
- Add $XDG_CONFIG_HOME/xkb to the default search path. If $XDG_CONFIG_HOME
is not set, $HOME/.config/xkb is used. If
This is a fixup release to address the issue reported in
https://bugs.archlinux.org/task/64191.
libxkbcommon 0.9.1
==
- Fix context creation failing when run in privileged processes as defined by
`secure_getenv(3)`, e.g. GDM.
Tarball:
git tag: xkbcommon-0.9.1
libxkbcommon 0.9.0
==
- Move ~/.xkb to before XKB_CONFIG_ROOT (the system XKB path, usually
/usr/share/X11/xkb) in the default include path. This enables the user
to have full control of the keymap definitions, instead of only augmenting
them.
NOTE: We are also
This is a small patch release to fix a couple of build issues.
libxkbcommon 0.8.4
==
- Fix build of xkbcommon-x11 static library with meson.
- Fix building using meson from the tarball generated by autotools.
Tarball:
git tag: xkbcommon-0.8.4
Build note: We've had a report that the autotools build doesn't work with
the new version of Bison, 3.3. If this happens to you, please switch to
using meson. The autotools build will be removed in libxkbcommon 0.9.0.
libxkbcommon 0.8.3
==
- Fix build of static libraries with
> Which package provides locale data?
Unfortunately the locale data is indeed provided in the libx11
repository. It would have been nice to have an "xlocale-data" package
but I was not able to push this through.
For now, my recommendation for distributions is to split the static
data in libx11
libxkbcommon 0.8.2
==
- Fix various problems found with fuzzing (see commit messages for
more details):
- Fix a few NULL-dereferences, out-of-bounds access and undefined behavior
in the XKB text format parser.
Tarball:
git tag: xkbcommon-0.8.2
libxkbcommon 0.8.1
==
- Fix various problems found in the meson build (see commit messages for more
details):
- Fix compilation on Darwin.
- Fix compilation of the x11 tests and demos when XCB is installed in a
non-standard location.
- Fix xkbcommon-x11.pc
libxkbcommon 0.8.0
==
- Added xkb_keysym_to_{upper,lower} to perform case-conversion directly on
keysyms. This is useful in some odd cases, but working with the Unicode
representations should be preferred when possible.
- Added Unicode conversion rules for the signifblank and
libxkbcommon 0.7.2
==
- Added a Meson build system as an alternative to existing autotools build
system.
The intent is to remove the autotools build in one of the next releases.
Please try to convert to it and report any problems.
See
A small fixup release.
libxkbcommon 0.7.1
==
- Fixed various reported problems when the current locale is tr_TR.UTF-8.
The function xkb_keysym_from_name() used to perform case-insensitive
string comparisons in a locale-dependent way, but required it to to
work as in the
On Fri, Oct 07, 2016 at 12:56:00PM -0700, Bryce Harrington wrote:
> On Fri, Oct 07, 2016 at 02:48:41PM +0300, Ran Benita wrote:
> > > + /* Look up the appropriate locale, or use "C" as default */
> > > + locale = getenv("LC_ALL");
> &g
> + /* Look up the appropriate locale, or use "C" as default */
> + locale = getenv("LC_ALL");
> + if (!locale)
> + locale = "C";
Is there a reason why you decided not to use the "full" procedure, i.e.
also try LC_CTYPE and LANG?
> + /* Set up XKB compose table */
> +
On Thu, Sep 15, 2016 at 02:31:55PM -0700, Bryce Harrington wrote:
> In particular, highlight the use of configure flags to control locating
> X11 keyboard stuff when building for Wayland.
>
> Of particular note, if the locale root is not specified, then xkbcommon
> will look for them under
On Thu, Sep 15, 2016 at 02:12:38PM -0700, Bryce Harrington wrote:
> From: Bryce Harrington
>
> Otherwise it can segfault e.g. running ./compose inside the bench
> directory.
Applied, thanks!
(I only notice now when replying that you used tabs instead of spaces,
but
On Wed, Apr 20, 2016 at 06:47:22AM +, 박성진 wrote:
> Dear Ran,
> what I did is following. :)
>
> 1. define a custom keysym in libxkbcommon
>- add a custom keysym into xkbcommon/xkbcommon-keysyms.h file (e.g.
> XF86VoiceWakeUp)
>- build ks_table.h again to reflect the custom keysym in
On Tue, Apr 19, 2016 at 09:54:35AM +, 박성진 wrote:
> Dear Ran,
> thank you for your answer. :)
>
> Plz kindly provide more details about it.
> We have defined some key symbols for built-in keys in mobile handset
> and would like to disable repeat for them.
Can you give an example of such a key
The value returned by `xkb_keymap_key_repeats()` is determined by the
keymap. In xkeyboard-config, it is "calculated" automatically by a
mechanism called "interprets" in the "compat" section, but it can also
be set directly for a given key in the "symbols" section. I can provide
more details if
Here are the NEWS for this release:
libxkbcommon 0.6.0
==
- If the XKB_CONFIG_ROOT environment variable is set, it is used as the XKB
configuration root instead of the path determined at build time.
- Tests and benchmarks now build correctly on OSX.
- An XKB keymap provides a
On Mon, Oct 27, 2014 at 09:26:39AM -0500, Derek Foreman wrote:
Log a message when the kernel event queue overflows and events are dropped.
After 10 messages logging stops to avoid flooding the logs if the condition
is persistent.
---
src/evdev.c | 10 ++
1 file changed, 10
Here are the NEWS for this release. There's also a new PACKAGING
file[1], for those interested.
[1] https://raw.githubusercontent.com/xkbcommon/libxkbcommon/master/PACKAGING
libxkbcommon 0.5.0 - 2014-10-18
==
- Added support for Compose/dead keys in a new module (included in
On Mon, Sep 15, 2014 at 08:41:37AM +0200, David Herrmann wrote:
Hi
Hi David
On Sun, Sep 14, 2014 at 11:05 PM, Ran Benita ran...@gmail.com wrote:
[snip]
+/**
+ * @page compose-cancellation Cancellation Behavior
+ * @parblock
+ *
+ * What should happen when a sequence is cancelled
On Mon, Sep 15, 2014 at 08:21:34AM +0200, David Herrmann wrote:
Hi
On Sun, Sep 14, 2014 at 11:05 PM, Ran Benita ran...@gmail.com wrote:
Signed-off-by: Ran Benita ran...@gmail.com
---
[snip]
diff --git a/src/compose/state.c b/src/compose/state.c
new file mode 100644
index 000
Signed-off-by: Ran Benita ran...@gmail.com
---
Makefile.am | 9 +
configure.ac | 9 +
src/compose/parser.c | 625 +++
src/compose/parser.h | 36 +++
src/compose/paths.c | 204 +
src/compose/paths.h | 42
but not a full-blown
input method. With this they can add Compose support in a straightforward
manner, so they have a fairly complete keyboard input for Latin-like
languages at least.
See the header documentation for details.
Signed-off-by: Ran Benita ran...@gmail.com
---
xkbcommon/xkbcommon-compose.h
These patches add support for compose sequences/dead keys to
libxkbcommon, in a small mostly-independent module, xkbcommon-compose.
A while ago we decided this is a worthwhile addition, particulary for
applications which use libxkbcommon without an input method.
I'd appreciate any comments on
To try, do e.g.:
sudo ./test/interactive-evdev -l us -v intl -o compose:ralt -d
Signed-off-by: Ran Benita ran...@gmail.com
---
test/common.c| 43 +-
test/interactive-evdev.c | 68 +---
test/interactive-x11.c
On Tue, Sep 09, 2014 at 07:08:46PM +0200, Jan Engelhardt wrote:
Symbol versions provide a means by which ELF utilities can determine
whether a program is incompatible with a too-old library version so
that package management tools can autodetect version-based
dependencies and suggest upgrade
A new release of libxkbcommon, containing mostly bug-fixes.
libxkbcommon 0.4.3 - 2014-08-19
==
- Fixed a bug which caused xkb_x11_keymap_new_from_device() to misrepresent
modifiers for some keymaps.
https://github.com/xkbcommon/libxkbcommon/issues/9
- Fixed a bug which
These symbols (xkb_map_* and others) were replaced in xkbcommon with more
consistent names. See the header xkbcommon/xkbcommon-compat.h for how
the old names map to the new.
The new names have been available since the first stable xkbcommon
release (0.2.0).
Signed-off-by: Ran Benita ran
Since xkbcommon-0.3.0, which is required by weston, a NULL argument
doesn't do anything.
Signed-off-by: Ran Benita ran...@gmail.com
---
src/compositor-wayland.c | 3 +--
src/compositor-x11.c | 3 +--
src/input.c | 9 +++--
src/screen-share.c | 3 +--
4 files changed, 6
Hi Jonas,
On Sun, Jul 27, 2014 at 11:28:28PM +0200, Jonas Ådahl wrote:
The kernel may send a 'release' event without ever having sent a key
'pressed' event in case the key was pressed before libinput was
initiated. Ignore these events so that we always guarantee a release
event always comes
On Mon, Jun 23, 2014 at 11:56:41PM +0200, Jonas Ådahl wrote:
Instead of only allowing one owner keeping a libinput context alive,
make context reference counted, replacing libinput_destroy() with
libinput_unref() while adding another function libinput_ref().
Even though there might not be
Contains a build fix and other small changes.
libxkbcommon 0.4.2 - 2014-05-15
==
- Fixed a bug where explicitly passing --enable-x11 to ./configure would
in fact disable it (regressed in 0.4.1).
- Added @since version annotations to the API documentation for everything
We've accumulated some changes and bug fixes, so here's a new release.
libxkbcommon 0.4.1
==
- Converted README to markdown and added a Quick Guide to the
documentation, which breezes through the most common parts of
xkbcommon.
Link:
On Thu, Mar 27, 2014 at 09:04:07PM +0100, David Herrmann wrote:
Hi
Hi David
On Thu, Mar 27, 2014 at 8:22 PM, Ran Benita ran...@gmail.com wrote:
- Added two new functions, xkb_state_key_get_utf{8,32}(). They
combine the operations of xkb_state_key_get_syms() and
xkb_keysym_to_utf{8,32
Hi,
libxkbcommon 0.3.2 is released. This is primarily a bug-fix release, and
everyone is recommended to update.
Note for builders and distributors:
--
The build dependencies of libxkbcommon have reduced over several
releases. Currently, they are:
- bison OR a
On Thu, Oct 10, 2013 at 07:53:12PM +0200, Rui Tiago Cação Matos wrote:
Hi,
On 7 October 2013 20:16, Ran Benita ran...@gmail.com wrote:
At least retaining the locked modifiers (and therefore the LED state in
most cases) would be nice, and not too problematic I think (though some
edge
On Mon, Oct 07, 2013 at 02:11:36PM +0530, Siddharth Heroor wrote:
Change variable names to avoid the name clash. The warning seen is
src/keysym-utf.c: In function 'bin_search':
src/keysym-utf.c:841: warning: declaration of 'min' shadows a global
declaration
src/utils.h:109: warning:
On Fri, Oct 04, 2013 at 03:22:59PM +0200, David Herrmann wrote:
Hi
On Fri, Oct 4, 2013 at 2:34 PM, Daniel Stone dan...@fooishbar.org wrote:
On 4 October 2013 13:09, Wander Lairson Costa wander.lair...@gmail.com
wrote:
That's what the patch is about: avoid casts. Whenever you use a cast,
On Thu, Sep 26, 2013 at 09:35:33AM -0300, Wander Lairson Costa wrote:
For most functions taking an enum flags parameter, we use 0 value to
indicate that no flags should be applied.
C++ has a stronger type system than C and will not implicitly convert
int's to enum's. Thus, we create valid 0
On Thu, Sep 26, 2013 at 08:49:24AM -0300, Wander Lairson Costa wrote:
2013/9/25 Ran Benita ran...@gmail.com:
On Tue, Sep 24, 2013 at 08:02:30PM -0300, Wander Lairson Costa wrote:
Hi,
Hi,
I am working for some time porting Blender to wayland [1] and I am now
adding keyboard handing
On Thu, Sep 26, 2013 at 04:00:15PM -0300, Wander Lairson Costa wrote:
2013/9/26 Ran Benita ran...@gmail.com:
[snip]
The information you need, if you want to use the key-down approach
(which is the only one I can think of), is whether e.g. the Left Shift
key is down at any given
On Thu, Sep 26, 2013 at 06:27:39PM -0300, Wander Lairson Costa wrote:
2013/9/26 Ran Benita ran...@gmail.com:
On Thu, Sep 26, 2013 at 04:00:15PM -0300, Wander Lairson Costa wrote:
2013/9/26 Ran Benita ran...@gmail.com:
[snip]
The information you need, if you want to use the key
On Tue, Sep 24, 2013 at 08:02:30PM -0300, Wander Lairson Costa wrote:
Hi,
Hi,
I am working for some time porting Blender to wayland [1] and I am now
adding keyboard handing support. For that, I am following weston
clients code as reference and using libxkbcommon.
To make a long history
On Wed, Mar 13, 2013 at 07:28:17PM +0200, Ran Benita wrote:
On Mon, Mar 11, 2013 at 12:53:39PM +0100, David Herrmann wrote:
The current API doesn't allow the caller to create keymaps from mmap()'ed
files. The problem is, xkb_keymap_new_from_string() requires a terminating
0 byte. However
On Mon, Mar 11, 2013 at 12:53:39PM +0100, David Herrmann wrote:
The current API doesn't allow the caller to create keymaps from mmap()'ed
files. The problem is, xkb_keymap_new_from_string() requires a terminating
0 byte. However, there is no way to guarantee that when using mmap() so a
user
---
src/scanner.c | 16 ++--
1 file changed, 2 insertions(+), 14 deletions(-)
diff --git a/src/scanner.c b/src/scanner.c
index 6d2eddd..fef85ab 100644
--- a/src/scanner.c
+++ b/src/scanner.c
@@ -127,18 +127,6 @@ struct parse_context {
unsigned int character_data_length;
};
On Mon, Nov 12, 2012 at 10:32:14AM -0200, Tiago Vignatti wrote:
Signed-off-by: Tiago Vignatti tiago.vigna...@intel.com
Might be easier to just set JAVADOC_AUTOBRIED = YES in the doxygen file?
Typing '\brief' all the time can get a bit annoying.
Ran
---
src/wayland-client.c | 85
Where we don't look at the error details, pass NULL to the 'error'
argument and test using the reply return value instead.
Where we do need it, remember to free it.
Signed-off-by: Ran Benita ran...@gmail.com
---
src/compositor-x11.c | 15 +++
1 file changed, 7 insertions(+), 8
not to rely on that, but do it explicitly
in XCB with the rest of the XKB init sequence.
Signed-off-by: Ran Benita ran...@gmail.com
---
src/compositor-x11.c | 21 +
1 file changed, 21 insertions(+)
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index c69b8f6..001dec4
.
Signed-off-by: Ran Benita ran...@gmail.com
---
src/compositor-x11.c | 4 +++-
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index 001dec4..c575f25 100644
--- a/src/compositor-x11.c
+++ b/src/compositor-x11.c
@@ -249,9 +249,11
In order to use xcb_request_check(), given a request without a reply,
you need to use the _checked() variant of the request function.
See xcb-requests(3).
Signed-off-by: Ran Benita ran...@gmail.com
---
src/compositor-x11.c | 16
1 file changed, 8 insertions(+), 8 deletions
not to rely on that, but do it explicitly
in XCB with the rest of the XKB init sequence.
Signed-off-by: Ran Benita ran...@gmail.com
---
src/compositor-x11.c | 20
1 file changed, 20 insertions(+)
diff --git a/src/compositor-x11.c b/src/compositor-x11.c
index c654aec..77e8600
On Thu, Oct 25, 2012 at 04:02:49PM +0200, Jan Engelhardt wrote:
This helps package managers recognize when a new version of libxkbcommon
(with same SONAME) is required due to new symbols.
This seems like a good thing to me. But you left out the symbols in
src/compat.c, which provides some ABI
On Sun, Oct 07, 2012 at 03:59:09PM +0200, David Herrmann wrote:
This adds another helper that allows finding a keysym based on a
case-insensitive search. This should really be supported as many keysyms
have really weird capitalization-rules.
However, as this may produce conflicts, users must
On Thu, Oct 04, 2012 at 04:58:50PM +0200, David Herrmann wrote:
Hi Ran
On Wed, Oct 3, 2012 at 10:18 AM, Ran Benita ran...@gmail.com wrote:
[snip]
So since makekeys is ugly and gperf is a bit excessive, maybe we should
just keep it simple, what do you think?
Indeed. Thanks a lot
278752
Total336180
So since makekeys is ugly and gperf is a bit excessive, maybe we should
just keep it simple, what do you think?
Ran
From 8fb5efb045b7207b010c979cbeae8f8222759961 Mon Sep 17 00:00:00 2001
From: Ran Benita ran...@gmail.com
Date: Wed, 3 Oct 2012 10:09:48 +0200
Hi David,
On Mon, Oct 01, 2012 at 07:29:58PM +0200, David Herrmann wrote:
xkb_keysym_from_name() uses a big lookup table generated by makekeys
to find keysyms. It does this case-sensitive because we have keys like
XKB_KEY_A and XKB_KEY_a. So if a user searches for a we must always
return the
On Tue, Oct 02, 2012 at 12:35:31PM +1000, Daniel Stone wrote:
Hi,
On 2 October 2012 11:38, dar...@chaosreigns.com wrote:
On 10/02, Фамилия Имя wrote:
switch between different keyboard layouts (languages) using both alt keys.
It was
https://bugs.freedesktop.org/show_bug.cgi?id=4927
On Tue, Oct 02, 2012 at 11:07:11AM +0200, David Herrmann wrote:
On Tue, Oct 2, 2012 at 9:37 AM, Ran Benita ran...@gmail.com wrote:
I like the idea, and it seems to work.
First, one thing that's easy to miss, this should work:
assert(test_string(xf86_switch_vt_5
Hello,
I was writing some input handling code for a separate program, when I
stumbled into an issue and eventually decided to look at how wayland
does it for inspiration. Unfortunately, wayland has a similar issue ;(
The bug can be reproduced easily:
- Start compositor-drm on some VT.
- Switch
74 matches
Mail list logo