0

I am making another remapper like xkb, sxhkd, xmodmap etc. because I don't like the other ones and in this one I want a more simple and terse syntax that I find nice to use and to make an API that people can use to insert their own language support after the fact so no one has to wait for me to implement it into the source code.

It is a very simple thing, I just want to know what the scancodes for all symbols in all languages look like and what they are so that I can build the program and the API around that, this will allow me to make an API that is as simple as possible so that people can just copy/paste their language symbols into the correct format and their done, now the program supports their language.

But for the life of me i cant find the full list of codes that the linux kernel generates for each unicode symbol, i looked and i found this similar question.

But in this, the user is asking for are the codes for the default layout on the system - one of the answers does say to go to [src]/drivers/tty/vt/defkeymap.map which does hold the corresponding codes to their unicode counterparts, but again thats not what I want at all.

There is another folder I found that is /xkeyboard-config-2.44/etc/X11/xkb/symbols which actually holds the symbols that are used in a bunch of languages but not all the languages that linux or even X supports.

I dont want some of the information, I want all of it, I am not looking for a generic example that shows how things work, i am looking for a complete, exhaustive list of all the codes and their mappings to the corresponding unicode symbols.

I just want a webpage that has this.

All Symbols

| dec | hex | symbol | scancode(linux) | scancode(freebsd) | scancode(windows) | ...

| 97 | 61 | a | ... | ... | ... | ... ....

for all numbers, letters and symbols - like mathematical symbols, punctuation symbols, etc.

Please tell me there is actually a list out there that i can just reference and tell others to reference as well to make their own language maps and that I dont have to make the damn thing myself

4
  • 2
    This seems difficult to answer, because PS/2 keyboard scancodes aren't the same as USB HID codes, and they aren't the same as Linux evdev (/dev/input) KEY_* event codes, and those aren't the same as X11 key codes... So you probably need to specify which API you are getting the codes as input from. Commented Sep 20 at 11:57
  • @grawity i was speicifically talking about the evdev codes on linux, the other ones arent that necessary, i just wanted to know if there is a just a full-blown list like that somewhere on the internet so i can go there and only get the information that i need Commented Oct 2 at 4:24
  • Those aren't the same thing as actual keyboard "scancodes", hence my previous question. And neither scancodes nor evdev codes map directly to characters – they both represent physical keys, there's neither a scancodes nor an evdev code for every single Unicode codepoint. (It's the job of xkb to define such mappings per layout.) Commented Oct 2 at 4:39
  • May I ask you to look for a little bit more knowledge about the usage of capital letters, colons and punctuations? You are talking with humans here. Commented Nov 20 at 17:12

1 Answer 1

2

If you’re only looking for evdev codes, those are all defined in include/uapi/linux/input-event-codes.h in the kernel source code. If you have the appropriate packages installed, the codes known on your system are thus available in /usr/include/linux/input-event-codes.h:

grep '#define KEY_' /usr/include/linux/input-event-codes.h 

You must log in to answer this question.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.