📄 xkeysym.c
字号:
/* * xkeysym.c: mapping from X keysyms to Unicode values * * The basic idea of this is shamelessly cribbed from xterm. The * actual character data is generated from Markus Kuhn's proposed * redraft of the X11 keysym mapping table, using the following * piece of Perl/sh code:wget -q -O - http://www.cl.cam.ac.uk/~mgk25/ucs/X11.keysyms | \perl -ne '/^(\d+)\s+(\d+)\s+[\d\/]+\s+U\+([\dA-Fa-f]+)/ and' \ -e ' do { $a{$1 * 256+ $2} = hex $3; };' \ -e 'END { foreach $i (sort {$a <=> $b} keys %a) {' \ -e ' printf " {0x%x, 0x%x},\n", $i, $a{$i} } }' \ -e 'BEGIN { $a{0x13a4} = 0x20ac }' * (The BEGIN clause inserts a mapping for the Euro sign which for * some reason isn't in the list but xterm supports. *shrug*.) */#include "misc.h"struct keysym { /* * Currently nothing in here is above 0xFFFF, so I'll use * `unsigned short' to save space. */ unsigned short keysym; unsigned short unicode;};static struct keysym keysyms[] = { {0x20, 0x20}, {0x21, 0x21}, {0x22, 0x22}, {0x23, 0x23}, {0x24, 0x24}, {0x25, 0x25}, {0x26, 0x26}, {0x27, 0x27}, {0x28, 0x28}, {0x29, 0x29}, {0x2a, 0x2a}, {0x2b, 0x2b}, {0x2c, 0x2c}, {0x2d, 0x2d}, {0x2e, 0x2e}, {0x2f, 0x2f}, {0x30, 0x30}, {0x31, 0x31}, {0x32, 0x32}, {0x33, 0x33}, {0x34, 0x34}, {0x35, 0x35}, {0x36, 0x36}, {0x37, 0x37}, {0x38, 0x38}, {0x39, 0x39}, {0x3a, 0x3a}, {0x3b, 0x3b}, {0x3c, 0x3c}, {0x3d, 0x3d}, {0x3e, 0x3e}, {0x3f, 0x3f}, {0x40, 0x40}, {0x41, 0x41}, {0x42, 0x42}, {0x43, 0x43}, {0x44, 0x44}, {0x45, 0x45}, {0x46, 0x46}, {0x47, 0x47}, {0x48, 0x48}, {0x49, 0x49}, {0x4a, 0x4a}, {0x4b, 0x4b}, {0x4c, 0x4c}, {0x4d, 0x4d}, {0x4e, 0x4e}, {0x4f, 0x4f}, {0x50, 0x50}, {0x51, 0x51}, {0x52, 0x52}, {0x53, 0x53}, {0x54, 0x54}, {0x55, 0x55}, {0x56, 0x56}, {0x57, 0x57}, {0x58, 0x58}, {0x59, 0x59}, {0x5a, 0x5a}, {0x5b, 0x5b}, {0x5c, 0x5c}, {0x5d, 0x5d}, {0x5e, 0x5e}, {0x5f, 0x5f}, {0x60, 0x60}, {0x61, 0x61}, {0x62, 0x62}, {0x63, 0x63}, {0x64, 0x64}, {0x65, 0x65}, {0x66, 0x66}, {0x67, 0x67}, {0x68, 0x68}, {0x69, 0x69}, {0x6a, 0x6a}, {0x6b, 0x6b}, {0x6c, 0x6c}, {0x6d, 0x6d}, {0x6e, 0x6e}, {0x6f, 0x6f}, {0x70, 0x70}, {0x71, 0x71}, {0x72, 0x72}, {0x73, 0x73}, {0x74, 0x74}, {0x75, 0x75}, {0x76, 0x76}, {0x77, 0x77}, {0x78, 0x78}, {0x79, 0x79}, {0x7a, 0x7a}, {0x7b, 0x7b}, {0x7c, 0x7c}, {0x7d, 0x7d}, {0x7e, 0x7e}, {0xa0, 0xa0}, {0xa1, 0xa1}, {0xa2, 0xa2}, {0xa3, 0xa3}, {0xa4, 0xa4}, {0xa5, 0xa5}, {0xa6, 0xa6}, {0xa7, 0xa7}, {0xa8, 0xa8}, {0xa9, 0xa9}, {0xaa, 0xaa}, {0xab, 0xab}, {0xac, 0xac}, {0xad, 0xad}, {0xae, 0xae}, {0xaf, 0xaf}, {0xb0, 0xb0}, {0xb1, 0xb1}, {0xb2, 0xb2}, {0xb3, 0xb3}, {0xb4, 0xb4}, {0xb5, 0xb5}, {0xb6, 0xb6}, {0xb7, 0xb7}, {0xb8, 0xb8}, {0xb9, 0xb9}, {0xba, 0xba}, {0xbb, 0xbb}, {0xbc, 0xbc}, {0xbd, 0xbd}, {0xbe, 0xbe}, {0xbf, 0xbf}, {0xc0, 0xc0}, {0xc1, 0xc1}, {0xc2, 0xc2}, {0xc3, 0xc3}, {0xc4, 0xc4}, {0xc5, 0xc5}, {0xc6, 0xc6}, {0xc7, 0xc7}, {0xc8, 0xc8}, {0xc9, 0xc9}, {0xca, 0xca}, {0xcb, 0xcb}, {0xcc, 0xcc}, {0xcd, 0xcd}, {0xce, 0xce}, {0xcf, 0xcf}, {0xd0, 0xd0}, {0xd1, 0xd1}, {0xd2, 0xd2}, {0xd3, 0xd3}, {0xd4, 0xd4}, {0xd5, 0xd5}, {0xd6, 0xd6}, {0xd7, 0xd7}, {0xd8, 0xd8}, {0xd9, 0xd9}, {0xda, 0xda}, {0xdb, 0xdb}, {0xdc, 0xdc}, {0xdd, 0xdd}, {0xde, 0xde}, {0xdf, 0xdf}, {0xe0, 0xe0}, {0xe1, 0xe1}, {0xe2, 0xe2}, {0xe3, 0xe3}, {0xe4, 0xe4}, {0xe5, 0xe5}, {0xe6, 0xe6}, {0xe7, 0xe7}, {0xe8, 0xe8}, {0xe9, 0xe9}, {0xea, 0xea}, {0xeb, 0xeb}, {0xec, 0xec}, {0xed, 0xed}, {0xee, 0xee}, {0xef, 0xef}, {0xf0, 0xf0}, {0xf1, 0xf1}, {0xf2, 0xf2}, {0xf3, 0xf3}, {0xf4, 0xf4}, {0xf5, 0xf5}, {0xf6, 0xf6}, {0xf7, 0xf7}, {0xf8, 0xf8}, {0xf9, 0xf9}, {0xfa, 0xfa}, {0xfb, 0xfb}, {0xfc, 0xfc}, {0xfd, 0xfd}, {0xfe, 0xfe}, {0xff, 0xff}, {0x1a1, 0x104}, {0x1a2, 0x2d8}, {0x1a3, 0x141}, {0x1a5, 0x13d}, {0x1a6, 0x15a}, {0x1a9, 0x160}, {0x1aa, 0x15e}, {0x1ab, 0x164}, {0x1ac, 0x179}, {0x1ae, 0x17d}, {0x1af, 0x17b}, {0x1b1, 0x105}, {0x1b2, 0x2db}, {0x1b3, 0x142}, {0x1b5, 0x13e}, {0x1b6, 0x15b}, {0x1b7, 0x2c7}, {0x1b9, 0x161}, {0x1ba, 0x15f}, {0x1bb, 0x165}, {0x1bc, 0x17a}, {0x1bd, 0x2dd}, {0x1be, 0x17e}, {0x1bf, 0x17c}, {0x1c0, 0x154}, {0x1c3, 0x102}, {0x1c5, 0x139}, {0x1c6, 0x106}, {0x1c8, 0x10c}, {0x1ca, 0x118}, {0x1cc, 0x11a}, {0x1cf, 0x10e}, {0x1d0, 0x110}, {0x1d1, 0x143}, {0x1d2, 0x147}, {0x1d5, 0x150}, {0x1d8, 0x158}, {0x1d9, 0x16e}, {0x1db, 0x170}, {0x1de, 0x162}, {0x1e0, 0x155}, {0x1e3, 0x103}, {0x1e5, 0x13a}, {0x1e6, 0x107}, {0x1e8, 0x10d}, {0x1ea, 0x119}, {0x1ec, 0x11b}, {0x1ef, 0x10f}, {0x1f0, 0x111}, {0x1f1, 0x144}, {0x1f2, 0x148}, {0x1f5, 0x151}, {0x1f8, 0x159}, {0x1f9, 0x16f}, {0x1fb, 0x171}, {0x1fe, 0x163}, {0x1ff, 0x2d9}, {0x2a1, 0x126}, {0x2a6, 0x124}, {0x2a9, 0x130}, {0x2ab, 0x11e}, {0x2ac, 0x134}, {0x2b1, 0x127}, {0x2b6, 0x125}, {0x2b9, 0x131}, {0x2bb, 0x11f}, {0x2bc, 0x135}, {0x2c5, 0x10a}, {0x2c6, 0x108}, {0x2d5, 0x120}, {0x2d8, 0x11c}, {0x2dd, 0x16c}, {0x2de, 0x15c}, {0x2e5, 0x10b}, {0x2e6, 0x109}, {0x2f5, 0x121}, {0x2f8, 0x11d}, {0x2fd, 0x16d}, {0x2fe, 0x15d}, {0x3a2, 0x138}, {0x3a3, 0x156}, {0x3a5, 0x128}, {0x3a6, 0x13b}, {0x3aa, 0x112}, {0x3ab, 0x122}, {0x3ac, 0x166}, {0x3b3, 0x157}, {0x3b5, 0x129}, {0x3b6, 0x13c}, {0x3ba, 0x113}, {0x3bb, 0x123}, {0x3bc, 0x167}, {0x3bd, 0x14a}, {0x3bf, 0x14b}, {0x3c0, 0x100}, {0x3c7, 0x12e}, {0x3cc, 0x116}, {0x3cf, 0x12a}, {0x3d1, 0x145}, {0x3d2, 0x14c}, {0x3d3, 0x136}, {0x3d9, 0x172}, {0x3dd, 0x168}, {0x3de, 0x16a}, {0x3e0, 0x101}, {0x3e7, 0x12f}, {0x3ec, 0x117}, {0x3ef, 0x12b}, {0x3f1, 0x146}, {0x3f2, 0x14d}, {0x3f3, 0x137}, {0x3f9, 0x173}, {0x3fd, 0x169}, {0x3fe, 0x16b}, {0x47e, 0x203e}, {0x4a1, 0x3002}, {0x4a2, 0x300c}, {0x4a3, 0x300d}, {0x4a4, 0x3001}, {0x4a5, 0x30fb}, {0x4a6, 0x30f2}, {0x4a7, 0x30a1}, {0x4a8, 0x30a3}, {0x4a9, 0x30a5}, {0x4aa, 0x30a7}, {0x4ab, 0x30a9}, {0x4ac, 0x30e3}, {0x4ad, 0x30e5}, {0x4ae, 0x30e7}, {0x4af, 0x30c3}, {0x4b0, 0x30fc}, {0x4b1, 0x30a2}, {0x4b2, 0x30a4}, {0x4b3, 0x30a6}, {0x4b4, 0x30a8}, {0x4b5, 0x30aa}, {0x4b6, 0x30ab}, {0x4b7, 0x30ad}, {0x4b8, 0x30af}, {0x4b9, 0x30b1}, {0x4ba, 0x30b3}, {0x4bb, 0x30b5}, {0x4bc, 0x30b7}, {0x4bd, 0x30b9}, {0x4be, 0x30bb}, {0x4bf, 0x30bd}, {0x4c0, 0x30bf}, {0x4c1, 0x30c1}, {0x4c2, 0x30c4}, {0x4c3, 0x30c6}, {0x4c4, 0x30c8}, {0x4c5, 0x30ca}, {0x4c6, 0x30cb}, {0x4c7, 0x30cc}, {0x4c8, 0x30cd}, {0x4c9, 0x30ce}, {0x4ca, 0x30cf}, {0x4cb, 0x30d2}, {0x4cc, 0x30d5}, {0x4cd, 0x30d8}, {0x4ce, 0x30db}, {0x4cf, 0x30de}, {0x4d0, 0x30df}, {0x4d1, 0x30e0}, {0x4d2, 0x30e1}, {0x4d3, 0x30e2}, {0x4d4, 0x30e4}, {0x4d5, 0x30e6}, {0x4d6, 0x30e8}, {0x4d7, 0x30e9}, {0x4d8, 0x30ea}, {0x4d9, 0x30eb}, {0x4da, 0x30ec}, {0x4db, 0x30ed}, {0x4dc, 0x30ef}, {0x4dd, 0x30f3}, {0x4de, 0x309b}, {0x4df, 0x309c}, {0x5ac, 0x60c}, {0x5bb, 0x61b}, {0x5bf, 0x61f}, {0x5c1, 0x621}, {0x5c2, 0x622}, {0x5c3, 0x623}, {0x5c4, 0x624}, {0x5c5, 0x625}, {0x5c6, 0x626}, {0x5c7, 0x627}, {0x5c8, 0x628}, {0x5c9, 0x629}, {0x5ca, 0x62a}, {0x5cb, 0x62b}, {0x5cc, 0x62c}, {0x5cd, 0x62d}, {0x5ce, 0x62e}, {0x5cf, 0x62f}, {0x5d0, 0x630}, {0x5d1, 0x631}, {0x5d2, 0x632}, {0x5d3, 0x633}, {0x5d4, 0x634}, {0x5d5, 0x635}, {0x5d6, 0x636}, {0x5d7, 0x637}, {0x5d8, 0x638}, {0x5d9, 0x639}, {0x5da, 0x63a}, {0x5e0, 0x640}, {0x5e1, 0x641}, {0x5e2, 0x642}, {0x5e3, 0x643}, {0x5e4, 0x644}, {0x5e5, 0x645}, {0x5e6, 0x646}, {0x5e7, 0x647}, {0x5e8, 0x648}, {0x5e9, 0x649}, {0x5ea, 0x64a}, {0x5eb, 0x64b}, {0x5ec, 0x64c}, {0x5ed, 0x64d}, {0x5ee, 0x64e}, {0x5ef, 0x64f}, {0x5f0, 0x650}, {0x5f1, 0x651}, {0x5f2, 0x652}, {0x6a1, 0x452}, {0x6a2, 0x453}, {0x6a3, 0x451}, {0x6a4, 0x454}, {0x6a5, 0x455}, {0x6a6, 0x456}, {0x6a7, 0x457}, {0x6a8, 0x458}, {0x6a9, 0x459}, {0x6aa, 0x45a}, {0x6ab, 0x45b}, {0x6ac, 0x45c}, {0x6ae, 0x45e}, {0x6af, 0x45f}, {0x6b0, 0x2116}, {0x6b1, 0x402}, {0x6b2, 0x403}, {0x6b3, 0x401}, {0x6b4, 0x404}, {0x6b5, 0x405}, {0x6b6, 0x406}, {0x6b7, 0x407}, {0x6b8, 0x408}, {0x6b9, 0x409}, {0x6ba, 0x40a}, {0x6bb, 0x40b}, {0x6bc, 0x40c}, {0x6be, 0x40e}, {0x6bf, 0x40f}, {0x6c0, 0x44e}, {0x6c1, 0x430}, {0x6c2, 0x431}, {0x6c3, 0x446}, {0x6c4, 0x434}, {0x6c5, 0x435}, {0x6c6, 0x444}, {0x6c7, 0x433}, {0x6c8, 0x445}, {0x6c9, 0x438}, {0x6ca, 0x439}, {0x6cb, 0x43a}, {0x6cc, 0x43b}, {0x6cd, 0x43c}, {0x6ce, 0x43d}, {0x6cf, 0x43e}, {0x6d0, 0x43f}, {0x6d1, 0x44f}, {0x6d2, 0x440}, {0x6d3, 0x441}, {0x6d4, 0x442}, {0x6d5, 0x443}, {0x6d6, 0x436}, {0x6d7, 0x432}, {0x6d8, 0x44c}, {0x6d9, 0x44b}, {0x6da, 0x437}, {0x6db, 0x448}, {0x6dc, 0x44d},
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -