4 releases

0.2.1 Jun 7, 2024
0.2.0 Jun 24, 2023
0.1.1 Jan 30, 2023
0.1.0 Jan 2, 2023

#51 in Unix APIs

Download history 38246/week @ 2024-03-14 43948/week @ 2024-03-21 44291/week @ 2024-03-28 37937/week @ 2024-04-04 39733/week @ 2024-04-11 41872/week @ 2024-04-18 40997/week @ 2024-04-25 45523/week @ 2024-05-02 40363/week @ 2024-05-09 42507/week @ 2024-05-16 43519/week @ 2024-05-23 46450/week @ 2024-05-30 60405/week @ 2024-06-06 67124/week @ 2024-06-13 61851/week @ 2024-06-20 55810/week @ 2024-06-27

252,907 downloads per month
Used in 965 crates (7 directly)

MIT OR Apache-2.0 OR Zlib

14K SLoC


This crate provides constants representing all of the X11 keyboard symbols. It also provides utility functions for working with those symbols, and for converting between keyboard codes and keyboard symbols. This crate does not depend on a particular implementation of the X11 protocol and can therefore be used in any context where X11 keyboard symbols are needed.

In addition, this crate contains no unsafe code and is fully compatible with no_std environments.

MSRV Policy

The Minimum Safe Rust Version for this crate is 1.58.1.

Updating Headers

To update the automatically generated keyboard symbols in the automatically_generated.rs file, install Just and run just. The process creates a Debian Docker container in order to keep the files consistent, so make sure Docker is installed first.


Licensed under either of

at your option.


Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be triple licensed as above, without any additional terms or conditions.