⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xkeysym.c

📁 远程登陆工具软件源码 用于远程登陆unix
💻 C
📖 第 1 页 / 共 2 页
字号:
/*
 * 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 + -