XChange键盘映射

语法

XChange键盘映射(显示,第一个密钥,keysyms_per_keycode,关键字,编号(_codes))显示器*显示;整数第一个密钥;整数keysyms_per_keycode键码;KeySym公司*关键字;整数编号(_codes);

论据

显示 指定到X服务器的连接。
第一个密钥 指定要更改的第一个KeyCode。
keysyms_per_keycode键码 指定每个KeyCode的KeySyms数。
关键字 指定KeySyms数组。
编号(_codes) 指定要更改的KeyCode数。

描述

这个XChangeKeyboardMapping()(更改键盘映射)函数为指定数量的KeyCode定义符号从firstkeycode开始。此范围外的KeyCodes符号保持不变。keyyms中的元素数必须为:

num_codes*keysyms_per_keycode

指定的first_keycode必须大于或等于min_keycode由返回X显示键码(),或aBadValue(错误值)错误结果。此外,以下表达式必须小于或等于返回的max_keycodeX显示键码(),或aBadValue(错误值)错误结果:

first_keycode+num_codes-1

KeySym编号N,从零开始计数,因为KeyCode K具有以下索引在keysyms中,从零开始计数:

(K-first_keycode)*keysyms_per_keycode+N

指定的keysyms_per_keycode可以由客户端任意选择以足够大以容纳所有期望的符号。的特殊KeySym值无符号应用于填充未使用的元素用于单个KeyCodes。这是合法的无符号出现在非栏杆位置KeyCode的有效列表。XChangeKeyboardMapping()(更改键盘映射)生成映射通知事件。

不要求X服务器解释此映射。它只是为了供客户读写而存储的。

XChangeKeyboardMapping()(更改键盘映射)可以生成BadAlloc(错误分配)BadValue(错误值)错误。

诊断

BadAlloc(错误分配) 服务器无法分配请求的源或服务器内存。
BadValue(错误值) 某些数值超出了请求接受的值范围。除非为参数指定了特定范围,否则定义的完整范围参数的类型被接受。定义为一组的任何参数替代方案可能会产生此错误。

另请参见

删除修改器映射条目(),X显示键码(),XFree(),XFreeModifiermap(),XGet键盘映射(),XGetModifierMapping(),XInsertModifiermapEntry(),XNewModifiermap(),XSetModifierMapping(),XSetPointerMapping(),"键盘编码".
克里斯托弗·特隆奇,ch@tronche.com(中文)