中文Linux应用编程界面(API)规范
- 编辑:admin -中文Linux应用编程界面(API)规范
这些数据界说地址的头文件包罗: arpa/inet.h assert.h ctype.h dirent.h err.h errno.h fcntl.h fmtmsg.h fnmatch.h ftw.h getopt.h glob.h grp.h iconv.h inttypes.h langinfo.h libgen.h libintl.h limits.h locale.h monetary.h net/if.h netdb.h netinet/in.h netinet/ip.h netinet/tcp.h netinet/udp.h nl_types.h poll.h pty.h pwd.h regex.h rpc/auth.h rpc/clnt.h rpc/pmap_clnt.h 9 rpc/rpc_msg.h rpc/svc.h rpc/types.h rpc/xdr.h sched.h search.h setjmp.h signal.h stddef.h stdio.h stdlib.h string.h sys/file.h sys/ioctl.h sys/ipc.h sys/mman.h sys/msg.h sys/param.h sys/poll.h sys/resource.h sys/sem.h sys/shm.h sys/socket.h sys/stat.h sys/statvfs.h sys/time.h sys/timeb.h sys/times.h sys/types.h sys/uio.h sys/un.h sys/utsname.h sys/wait.h syslog.h termios.h time.h ucontext.h ulimit.h unistd.h utime.h utmp.h utmpx.h wchar.h wctype.h 10 wordexp.h 这些数据界说的头文件的详细内容见 ISO/IEC 23360-1 的根基库部门, *key); 说明: 处理惩罚一个键盘事件; 参数: ic 接收键盘事件的输入上下文; key 要处理惩罚的键盘事件; 返回值: IME_TRUE 该键盘事件已经被处理惩罚; IME_FALSE 该键盘事件未被处理惩罚,多个进程 标识符 pid 应由单个空格离开,所以,则该脚本宜直接返回一个错 误,回收尺度 glibc 命名范例,一个汉字为一个字符) 对付尺度修饰属性, 返回值: IME_TRUE 输入法引擎模块可用; IME_FALSE 输入法引擎模块不行用, *helper_uuid); 36 返回值: 无 说明: 只有启动该帮助模块的输入上下文有权遏制该模块, const char *ic_uuid, getpwent(), 保存名称, initialize 初始化输入法引擎模块 void (*initialize) (void); 说明: 用以初始化输入法引擎模块,Shell脚本的第一行包罗对它的二进制解释措施 的引用, 完整的 7 个域如下所示: 1. 分 [0, 4.2.1 libz 接口 本条划定了压缩库函数接口, 4.1.6 libm 的接口界说 本尺度没有对 libm 的接口进行扩充, 用于确定进程状态的要领是实现界说的,该名称取 自字符集 [a-z0-9], message Log_warning_msg Log_warning_msg 成果应使系统打印一条警告信息。
init 脚本应通 过包安装器安装在/etc/init.d 目录(也可以是指向另一个位置的标记连接)中, 4.5.4 init 脚本的安装与删除 切合本尺度的应用措施可以安装一个或多个初始化脚本(或 init 脚本) ,输入法引擎可 以操作此区域显示任何可能的信息, index); 说明: 通知输入法打点器设置当前核心候选词; 参数: ic 当前输入上下文; index 核心候选词的索引号; 返回值: 无 commit_string 向客户措施提交字符串 void (*commit_string) (const IME_InputContext const char *ic,但在本尺度中,应用措施可将可变数据存放在该目录里。
const IME_KeyEvent *key); 说明: 向客户措施直接转发一个按键事件; 参数: ic 由输入法打点器提供的当前输入上下文暗示号; ic_uuid 要接收数据的输入法的独一标识号, size_t bufsize); 说明: 处理惩罚一个从输入法引擎帮助模块发来的事件; 参数: ic 接收该事件的输入上下文; helper_uuid 发送该事件的帮助模块独一标识号; buf 包括事件数据的缓冲区 bufsize 缓冲区尺寸 返回值: 无 focus_in 一个输入上下文获得核心 void (*focus_in) (const IME_InputContext 说明: 通知输入法引擎模块。
/etc/cron.daily 一个包括每一天被执行的 shell 脚本的目录。
install_initd 和 remove_initd 通过在脚本里解析特定格局的块来确定要执行的行为,而应始终使用 pidfile, 若 init 脚本要执行 status 行为, 本条界说了以下头文件: pthread.h semaphore.h 这些头文件的详细内容见 ISO/IEC 23360-1 的根基库部门, int size); (*trigger_property) (const IME_InputContext *ic, 在执行呼吁名称之前还应有一个特别的 “用户名” 域,假如 用户名在系统中存在,预界说以下尺度修饰类型值: #define IME_DECORATION_NONE 0 #define IME_DECORATION_UNDERLINE 1 #define IME_DECORATION_HIGHLIGHT 2 #define IME_DECORATION_REVERSE 4 依次别离为: IME_DECORATION_NONE 没有修饰 IME_DECORATION_UNDERLINE 下划线修饰 IME_DECORATION_HIGHLIGHT 高亮显示修饰 50 IME_DECORATION_REVERSE 反色显示修饰 四种修饰可以组合使用,以及这些呼吁和实用东西至 少应实现的成果, IMM)等部门构成, *key); 说明: 向相应的输入法引擎发送键盘事件; 参数: 44 ic 由输入法打点器提供的当前输入上下文标识号; ic_uuid 要接收数据的输入法的独一标识号; key 要发送的键盘事件 返回值: 无 commit_string 向客户措施提交一个字符串 void (*commit_string) (int const char const char ic, 其他的要害字可能在本尺度将来的版本中界说, index); 说明: 通知输入法引擎, const IME_CandidatesList *candidates); 说明: 通知输入法打点器更新候选词列表的内容; 参数: ic 当前输入上下文; candidates 新的候选词列表; 返回值: 无 set_focused_candidate 设置核心候选词 void (*set_focused_candidate) (const IME_InputContext int *ic,应转发给客户措施; process_helper_event 处理惩罚一个从输入法引擎帮助模块发来的事件 void (*process_helper_event) (const IME_InputContext *ic, const char *ic_uuid, 多字符理序元素的处理惩罚是可选的, int size); 说明: 当输入法打点器无法显示所有候选词的时候, get_number_of_input_methods 取得该输入法引擎模块所支持的输入法数量 int (*get_number_of_input_methods) (void); 说明: 取得该输入法引擎模块所支持的输入法的数量; 参数: 无 返回值: 所支持的输入法的个数; 说明: 一个输入法引擎模块可以支持多个差异的输入法, 例如通过使用类似 ntp 或 rdate 的基于网络的时间措施, 输入法打点器回收动态装载的形式来运行输入法引擎模块和输入法引擎帮助模块, $local_fs 根基网络支持可用, 4.1.14 libdl 的接口界说 本尺度没有对 libdl 的接口进行扩充,返回 0, 除此之外, *ic_uuid); ic, 若是, 4.1.7 libpthread 接口 libpthread 划定了以下的接口: 及时线程 表24 及时线程函数接口 pthread_attr_getinherit sched pthread_attr_setschedp olicy pthread_setschedprio( GLIBC_2.3.4) 高级及时线程 本尺度中没有为 libpthread 界说高级及时线程外部函数接口,将通过该回调函数通知输入法引擎模块 缩小候选词列表的页尺寸, 应用措施 在这个目录中所安装的文件该当使用本尺度划定的命名范例(拜见 4.4.1.2.1“文件命名 范例”, restart、 try-restart、 reload 和 force-reload 行为宜为原子的;即假如预知重启动或重装入后处事不行用,但实现不担保向用户显示相应文本 或做任何其他响应, *buf, /etc/cron.hourly 一个包括每一小时被执行的 shell 脚本的目录,或仅当 init 脚本被 执行时。
const char *ic_uuid, ) 布置在系统运行级变革 (包罗系统启动和封锁) init 脚本被调用的正确顺序, whence 值为-1 应为无效值,应从该目录中读取所有后缀为.sh 的脚本中的呼吁。
除了划定root 的用户 ID 和组 ID 应便是 0, 5 输入法接口 本条划定中文 Linux 尺度供中文输入要领处事器与中文输入要领使用的接口。
mask 键盘修饰键掩码 说明: 具体键盘编码和键盘修饰掩码界说,缺省是正常的/完全的多用户 5 图形方法的多用户 6 重引导 4.5.6 设施名 引导设施用于标明在初始化脚本中的依赖干系, killproc 成果遏制指定的措施,每个续行都应该以 “#”开头,从而差池脚本的操纵发生影响, 需要适当特权去运行的应用措施应在其文档中清楚的描述原因。
4.1.9 libpthread 的接口界说 本尺度没有对 libpthread 的接口进行扩充,通常注日期的引用文件,必需调用/usr/lib/lsb/install_initd 措施来激活 init 脚本。
它们应该 20 仅被作为“magic cookies”供 utmpname()函数使用,假如措施已 经乐成地启动或正在运行。
它能独立于窗口系统、图形用户界面或可视化外观。
killproc [-p pidfile] 然后是 SIGKILL 信号, int index); (*previous_candidates_page) (const IME_InputContext *ic); (*next_candidates_page) (const IME_InputContext *ic); (*update_candidates_page_size) (const IME_InputContext *ic。
详细请看 4.5.1 节,详细拜见 4.5.4“init 脚本的安装与删除” 。
对付 lseek()、fseek() 和 fcntl()函数, 最高有效位称为高序位, 4.2.6 libutil 接口 本条划定了实用东西函数库接口,那么在 pidfile 文件中的第一行应被读取。
但是应该有.sh 后缀,到达此目的的最好的要领是使用由 /lib/lsb/init-functions 提供的 init 脚本函数,这些空白字符应被忽略,不然应失败并设置 errno 为 EXDEV, 例如 ping 或 python。
get_connection_number 取得数据连接的文件标识符 int (*get_connection_number) (void); 说明: 取得与输入法打点器之间的数据连接的文件标识符; 参数: 无 返回值: 数据连接的文件标识符,而且该锁被另一个已经被当前进程阻塞的进程锁定,用于暗示、组织或控制数据,www.513cy.cn, 输入法引擎帮助模块通过调用该数据布局中提供的回调函数与输入法打点器 通讯,与 open_connection()的返回值沟通,其后为一个制表符或至少有两个空格符, *helper_uuid); *ic, Required-Stop: boot_facility_1 [boot_facility_2...] 在封锁这个处事期间必需可用的设施,例:一个处事器措施可以基于套接字监听。
不该由应用措施建设, 53 (范例性附录) 输入法协议中的键盘编码界说 键盘修饰键掩码界说 IME_KEY_ShiftMask IME_KEY_LockMask IME_KEY_CapsLockMask IME_KEY_ControlMask IME_KEY_Mod1Mask IME_KEY_AltMask IME_KEY_Mod2Mask IME_KEY_NumLockMask IME_KEY_Mod3Mask IME_KEY_Mod4Mask IME_KEY_Mod5Mask IME_KEY_ScrollLockMask IME_KEY_ReleaseMask 键盘编码界说 IME_KEY_VoidSymbol IME_KEY_BackSpace IME_KEY_Tab IME_KEY_Linefeed IME_KEY_Clear IME_KEY_Return IME_KEY_Pause IME_KEY_Scroll_Lock IME_KEY_Sys_Req IME_KEY_Escape IME_KEY_Delete IME_KEY_Multi_key IME_KEY_Codeinput IME_KEY_SingleCandidate IME_KEY_MultipleCandidate IME_KEY_PreviousCandidate IME_KEY_Kanji IME_KEY_Muhenkan IME_KEY_Henkan_Mode IME_KEY_Henkan IME_KEY_Romaji IME_KEY_Hiragana 0xFFFFFF 0xFF08 0xFF09 0xFF0A 0xFF0B 0xFF0D 0xFF13 0xFF14 0xFF15 0xFF1B 0xFFFF 0xFF20 0xFF37 0xFF3C 0xFF3D 0xFF3E 0xFF21 0xFF22 0xFF23 0xFF23 0xFF24 0xFF25 54 (10) (11) (11) (12) (13) (13) (14) (14) (15) (16) (17) (17) (130) IME_KEY_Katakana IME_KEY_Hiragana_Katakana IME_KEY_Zenkaku IME_KEY_Hankaku IME_KEY_Zenkaku_Hankaku IME_KEY_Touroku IME_KEY_Massyo IME_KEY_Kana_Lock IME_KEY_Kana_Shift IME_KEY_Eisu_Shift IME_KEY_Eisu_toggle IME_KEY_Kanji_Bangou IME_KEY_Zen_Koho IME_KEY_Mae_Koho IME_KEY_Home IME_KEY_Left IME_KEY_Up IME_KEY_Right IME_KEY_Down IME_KEY_Prior IME_KEY_Page_Up IME_KEY_Next IME_KEY_Page_Down IME_KEY_End IME_KEY_Begin IME_KEY_Select IME_KEY_Print IME_KEY_Execute IME_KEY_Insert IME_KEY_Undo IME_KEY_Redo IME_KEY_Menu IME_KEY_Find IME_KEY_Cancel IME_KEY_Help IME_KEY_Break IME_KEY_Mode_switch IME_KEY_script_switch IME_KEY_Num_Lock IME_KEY_KP_Space IME_KEY_KP_Tab IME_KEY_KP_Enter IME_KEY_KP_F1 IME_KEY_KP_F2 0xFF26 0xFF27 0xFF28 0xFF29 0xFF2A 0xFF2B 0xFF2C 0xFF2D 0xFF2E 0xFF2F 0xFF30 0xFF37 0xFF3D 0xFF3E 0xFF50 0xFF51 0xFF52 0xFF53 0xFF54 0xFF55 0xFF55 0xFF56 0xFF56 0xFF57 0xFF58 0xFF60 0xFF61 0xFF62 0xFF63 0xFF65 0xFF66 0xFF67 0xFF68 0xFF69 0xFF6A 0xFF6B 0xFF7E 0xFF7E 0xFF7F 0xFF80 0xFF89 0xFF8D 0xFF91 0xFF92 55 IME_KEY_KP_F3 IME_KEY_KP_F4 IME_KEY_KP_Home IME_KEY_KP_Left IME_KEY_KP_Up IME_KEY_KP_Right IME_KEY_KP_Down IME_KEY_KP_Prior IME_KEY_KP_Page_Up IME_KEY_KP_Next IME_KEY_KP_Page_Down IME_KEY_KP_End IME_KEY_KP_Begin IME_KEY_KP_Insert IME_KEY_KP_Delete IME_KEY_KP_Equal IME_KEY_KP_Multiply IME_KEY_KP_Add IME_KEY_KP_Separator IME_KEY_KP_Subtract IME_KEY_KP_Decimal IME_KEY_KP_Divide IME_KEY_KP_0 IME_KEY_KP_1 IME_KEY_KP_2 IME_KEY_KP_3 IME_KEY_KP_4 IME_KEY_KP_5 IME_KEY_KP_6 IME_KEY_KP_7 IME_KEY_KP_8 IME_KEY_KP_9 IME_KEY_F1 IME_KEY_F2 IME_KEY_F3 IME_KEY_F4 IME_KEY_F5 IME_KEY_F6 IME_KEY_F7 IME_KEY_F8 IME_KEY_F9 IME_KEY_F10 IME_KEY_F11 IME_KEY_L1 0xFF93 0xFF94 0xFF95 0xFF96 0xFF97 0xFF98 0xFF99 0xFF9A 0xFF9A 0xFF9B 0xFF9B 0xFF9C 0xFF9D 0xFF9E 0xFF9F 0xFFBD 0xFFAA 0xFFAB 0xFFAC 0xFFAD 0xFFAE 0xFFAF 0xFFB0 0xFFB1 0xFFB2 0xFFB3 0xFFB4 0xFFB5 0xFFB6 0xFFB7 0xFFB8 0xFFB9 0xFFBE 0xFFBF 0xFFC0 0xFFC1 0xFFC2 0xFFC3 0xFFC4 0xFFC5 0xFFC6 0xFFC7 0xFFC8 0xFFC8 56 IME_KEY_F12 IME_KEY_L2 IME_KEY_F13 IME_KEY_L3 IME_KEY_F14 IME_KEY_L4 IME_KEY_F15 IME_KEY_L5 IME_KEY_F16 IME_KEY_L6 IME_KEY_F17 IME_KEY_L7 IME_KEY_F18 IME_KEY_L8 IME_KEY_F19 IME_KEY_L9 IME_KEY_F20 IME_KEY_L10 IME_KEY_F21 IME_KEY_R1 IME_KEY_F22 IME_KEY_R2 IME_KEY_F23 IME_KEY_R3 IME_KEY_F24 IME_KEY_R4 IME_KEY_F25 IME_KEY_R5 IME_KEY_F26 IME_KEY_R6 IME_KEY_F27 IME_KEY_R7 IME_KEY_F28 IME_KEY_R8 IME_KEY_F29 IME_KEY_R9 IME_KEY_F30 IME_KEY_R10 IME_KEY_F31 IME_KEY_R11 IME_KEY_F32 IME_KEY_R12 IME_KEY_F33 IME_KEY_R13 0xFFC9 0xFFC9 0xFFCA 0xFFCA 0xFFCB 0xFFCB 0xFFCC 0xFFCC 0xFFCD 0xFFCD 0xFFCE 0xFFCE 0xFFCF 0xFFCF 0xFFD0 0xFFD0 0xFFD1 0xFFD1 0xFFD2 0xFFD2 0xFFD3 0xFFD3 0xFFD4 0xFFD4 0xFFD5 0xFFD5 0xFFD6 0xFFD6 0xFFD7 0xFFD7 0xFFD8 0xFFD8 0xFFD9 0xFFD9 0xFFDA 0xFFDA 0xFFDB 0xFFDB 0xFFDC 0xFFDC 0xFFDD 0xFFDD 0xFFDE 0xFFDE 57 IME_KEY_F34 IME_KEY_R14 IME_KEY_F35 IME_KEY_R15 IME_KEY_Shift_L IME_KEY_Shift_R IME_KEY_Control_L IME_KEY_Control_R IME_KEY_Caps_Lock IME_KEY_Shift_Lock IME_KEY_Meta_L IME_KEY_Meta_R IME_KEY_Alt_L IME_KEY_Alt_R IME_KEY_Super_L IME_KEY_Super_R IME_KEY_Hyper_L IME_KEY_Hyper_R IME_KEY_ISO_Lock IME_KEY_ISO_Level2_Latch IME_KEY_ISO_Level3_Shift IME_KEY_ISO_Level3_Latch IME_KEY_ISO_Level3_Lock IME_KEY_ISO_Group_Shift IME_KEY_ISO_Group_Latch IME_KEY_ISO_Group_Lock IME_KEY_ISO_Next_Group IME_KEY_ISO_Next_Group_Lock IME_KEY_ISO_Prev_Group IME_KEY_ISO_Prev_Group_Lock IME_KEY_ISO_First_Group IME_KEY_ISO_First_Group_Lock IME_KEY_ISO_Last_Group IME_KEY_ISO_Last_Group_Lock IME_KEY_ISO_Left_Tab IME_KEY_ISO_Move_Line_Up IME_KEY_ISO_Move_Line_Down IME_KEY_ISO_Partial_Line_Up IME_KEY_ISO_Partial_Line_Down IME_KEY_ISO_Partial_Space_Left IME_KEY_ISO_Partial_Space_Right IME_KEY_ISO_Set_Margin_Left IME_KEY_ISO_Set_Margin_Right IME_KEY_ISO_Release_Margin_Left 0xFFDF 0xFFDF 0xFFE0 0xFFE0 0xFFE1 0xFFE2 0xFFE3 0xFFE4 0xFFE5 0xFFE6 0xFFE7 0xFFE8 0xFFE9 0xFFEA 0xFFEB 0xFFEC 0xFFED 0xFFEE 0xFE01 0xFE02 0xFE03 0xFE04 0xFE05 0xFF7E 0xFE06 0xFE07 0xFE08 0xFE09 0xFE0A 0xFE0B 0xFE0C 0xFE0D 0xFE0E 0xFE0F 0xFE20 0xFE21 0xFE22 0xFE23 0xFE24 0xFE25 0xFE26 0xFE27 0xFE28 0xFE29 58 IME_KEY_ISO_Release_Margin_Right IME_KEY_ISO_Release_Both_Margins IME_KEY_ISO_Fast_Cursor_Left IME_KEY_ISO_Fast_Cursor_Right IME_KEY_ISO_Fast_Cursor_Up IME_KEY_ISO_Fast_Cursor_Down IME_KEY_ISO_Continuous_Underline IME_KEY_ISO_Discontinuous_Underline IME_KEY_ISO_Emphasize IME_KEY_ISO_Center_Object IME_KEY_ISO_Enter IME_KEY_dead_grave IME_KEY_dead_acute IME_KEY_dead_circumflex IME_KEY_dead_tilde IME_KEY_dead_macron IME_KEY_dead_breve IME_KEY_dead_abovedot IME_KEY_dead_diaeresis IME_KEY_dead_abovering IME_KEY_dead_doubleacute IME_KEY_dead_caron IME_KEY_dead_cedilla IME_KEY_dead_ogonek IME_KEY_dead_iota IME_KEY_dead_voiced_sound IME_KEY_dead_semivoiced_sound IME_KEY_dead_belowdot IME_KEY_dead_hook IME_KEY_dead_horn IME_KEY_First_Virtual_Screen IME_KEY_Prev_Virtual_Screen IME_KEY_Next_Virtual_Screen IME_KEY_Last_Virtual_Screen IME_KEY_Terminate_Server IME_KEY_AccessX_Enable IME_KEY_AccessX_Feedback_Enable IME_KEY_RepeatKeys_Enable IME_KEY_SlowKeys_Enable IME_KEY_BounceKeys_Enable IME_KEY_StickyKeys_Enable IME_KEY_MouseKeys_Enable IME_KEY_MouseKeys_Accel_Enable IME_KEY_Overlay1_Enable 0xFE2A 0xFE2B 0xFE2C 0xFE2D 0xFE2E 0xFE2F 0xFE30 0xFE31 0xFE32 0xFE33 0xFE34 0xFE50 0xFE51 0xFE52 0xFE53 0xFE54 0xFE55 0xFE56 0xFE57 0xFE58 0xFE59 0xFE5A 0xFE5B 0xFE5C 0xFE5D 0xFE5E 0xFE5F 0xFE60 0xFE61 0xFE62 0xFED0 0xFED1 0xFED2 0xFED4 0xFED5 0xFE70 0xFE71 0xFE72 0xFE73 0xFE74 0xFE75 0xFE76 0xFE77 0xFE78 59 IME_KEY_Overlay2_Enable IME_KEY_AudibleBell_Enable IME_KEY_Pointer_Left IME_KEY_Pointer_Right IME_KEY_Pointer_Up IME_KEY_Pointer_Down IME_KEY_Pointer_UpLeft IME_KEY_Pointer_UpRight IME_KEY_Pointer_DownLeft IME_KEY_Pointer_DownRight IME_KEY_Pointer_Button_Dflt IME_KEY_Pointer_Button1 IME_KEY_Pointer_Button2 IME_KEY_Pointer_Button3 IME_KEY_Pointer_Button4 IME_KEY_Pointer_Button5 IME_KEY_Pointer_DblClick_Dflt IME_KEY_Pointer_DblClick1 IME_KEY_Pointer_DblClick2 IME_KEY_Pointer_DblClick3 IME_KEY_Pointer_DblClick4 IME_KEY_Pointer_DblClick5 IME_KEY_Pointer_Drag_Dflt IME_KEY_Pointer_Drag1 IME_KEY_Pointer_Drag2 IME_KEY_Pointer_Drag3 IME_KEY_Pointer_Drag4 IME_KEY_Pointer_Drag5 IME_KEY_Pointer_EnableKeys IME_KEY_Pointer_Accelerate IME_KEY_Pointer_DfltBtnNext IME_KEY_Pointer_DfltBtnPrev IME_KEY_3270_Duplicate IME_KEY_3270_FieldMark IME_KEY_3270_Right2 IME_KEY_3270_Left2 IME_KEY_3270_BackTab IME_KEY_3270_EraseEOF IME_KEY_3270_EraseInput IME_KEY_3270_Reset IME_KEY_3270_Quit IME_KEY_3270_PA1 IME_KEY_3270_PA2 IME_KEY_3270_PA3 0xFE79 0xFE7A 0xFEE0 0xFEE1 0xFEE2 0xFEE3 0xFEE4 0xFEE5 0xFEE6 0xFEE7 0xFEE8 0xFEE9 0xFEEA 0xFEEB 0xFEEC 0xFEED 0xFEEE 0xFEEF 0xFEF0 0xFEF1 0xFEF2 0xFEF3 0xFEF4 0xFEF5 0xFEF6 0xFEF7 0xFEF8 0xFEFD 0xFEF9 0xFEFA 0xFEFB 0xFEFC 0xFD01 0xFD02 0xFD03 0xFD04 0xFD05 0xFD06 0xFD07 0xFD08 0xFD09 0xFD0A 0xFD0B 0xFD0C 60 IME_KEY_3270_Test IME_KEY_3270_Attn IME_KEY_3270_CursorBlink IME_KEY_3270_AltCursor IME_KEY_3270_KeyClick IME_KEY_3270_Jump IME_KEY_3270_Ident IME_KEY_3270_Rule IME_KEY_3270_Copy IME_KEY_3270_Play IME_KEY_3270_Setup IME_KEY_3270_Record IME_KEY_3270_ChangeScreen IME_KEY_3270_DeleteWord IME_KEY_3270_ExSelect IME_KEY_3270_CursorSelect IME_KEY_3270_PrintScreen IME_KEY_3270_Enter IME_KEY_space IME_KEY_exclam IME_KEY_quotedbl IME_KEY_numbersign IME_KEY_dollar IME_KEY_percent IME_KEY_ampersand IME_KEY_apostrophe IME_KEY_quoteright IME_KEY_parenleft IME_KEY_parenright IME_KEY_asterisk IME_KEY_plus IME_KEY_comma IME_KEY_minus IME_KEY_period IME_KEY_slash IME_KEY_0 IME_KEY_1 IME_KEY_2 IME_KEY_3 IME_KEY_4 IME_KEY_5 IME_KEY_6 IME_KEY_7 IME_KEY_8 0xFD0D 0xFD0E 0xFD0F 0xFD10 0xFD11 0xFD12 0xFD13 0xFD14 0xFD15 0xFD16 0xFD17 0xFD18 0xFD19 0xFD1A 0xFD1B 0xFD1C 0xFD1D 0xFD1E 0x020 0x021 0x022 0x023 0x024 0x025 0x026 0x027 0x027 0x028 0x029 0x02a 0x02b 0x02c 0x02d 0x02e 0x02f 0x030 0x031 0x032 0x033 0x034 0x035 0x036 0x037 0x038 61 IME_KEY_9 IME_KEY_colon IME_KEY_semicolon IME_KEY_less IME_KEY_equal IME_KEY_greater IME_KEY_question IME_KEY_at IME_KEY_A IME_KEY_B IME_KEY_C IME_KEY_D IME_KEY_E IME_KEY_F IME_KEY_G IME_KEY_H IME_KEY_I IME_KEY_J IME_KEY_K IME_KEY_L IME_KEY_M IME_KEY_N IME_KEY_O IME_KEY_P IME_KEY_Q IME_KEY_R IME_KEY_S IME_KEY_T IME_KEY_U IME_KEY_V IME_KEY_W IME_KEY_X IME_KEY_Y IME_KEY_Z IME_KEY_bracketleft IME_KEY_backslash IME_KEY_bracketright IME_KEY_asciicircum IME_KEY_underscore IME_KEY_grave IME_KEY_quoteleft IME_KEY_a IME_KEY_b IME_KEY_c 0x039 0x03a 0x03b 0x03c 0x03d 0x03e 0x03f 0x040 0x041 0x042 0x043 0x044 0x045 0x046 0x047 0x048 0x049 0x04a 0x04b 0x04c 0x04d 0x04e 0x04f 0x050 0x051 0x052 0x053 0x054 0x055 0x056 0x057 0x058 0x059 0x05a 0x05b 0x05c 0x05d 0x05e 0x05f 0x060 0x060 0x061 0x062 0x063 62 IME_KEY_d IME_KEY_e IME_KEY_f IME_KEY_g IME_KEY_h IME_KEY_i IME_KEY_j IME_KEY_k IME_KEY_l IME_KEY_m IME_KEY_n IME_KEY_o IME_KEY_p IME_KEY_q IME_KEY_r IME_KEY_s IME_KEY_t IME_KEY_u IME_KEY_v IME_KEY_w IME_KEY_x IME_KEY_y IME_KEY_z IME_KEY_braceleft IME_KEY_bar IME_KEY_braceright IME_KEY_asciitilde IME_KEY_nobreakspace IME_KEY_exclamdown IME_KEY_cent IME_KEY_sterling IME_KEY_currency IME_KEY_yen IME_KEY_brokenbar IME_KEY_section IME_KEY_diaeresis IME_KEY_copyright IME_KEY_ordfeminine IME_KEY_guillemotleft IME_KEY_notsign IME_KEY_hyphen IME_KEY_registered IME_KEY_macron IME_KEY_degree 0x064 0x065 0x066 0x067 0x068 0x069 0x06a 0x06b 0x06c 0x06d 0x06e 0x06f 0x070 0x071 0x072 0x073 0x074 0x075 0x076 0x077 0x078 0x079 0x07a 0x07b 0x07c 0x07d 0x07e 0x0a0 0x0a1 0x0a2 0x0a3 0x0a4 0x0a5 0x0a6 0x0a7 0x0a8 0x0a9 0x0aa 0x0ab 0x0ac 0x0ad 0x0ae 0x0af 0x0b0 63 IME_KEY_plusminus IME_KEY_twosuperior IME_KEY_threesuperior IME_KEY_acute IME_KEY_mu IME_KEY_paragraph IME_KEY_periodcentered IME_KEY_cedilla IME_KEY_onesuperior IME_KEY_masculine IME_KEY_guillemotright IME_KEY_onequarter IME_KEY_onehalf IME_KEY_threequarters IME_KEY_questiondown IME_KEY_Agrave IME_KEY_Aacute IME_KEY_Acircumflex IME_KEY_Atilde IME_KEY_Adiaeresis IME_KEY_Aring IME_KEY_AE IME_KEY_Ccedilla IME_KEY_Egrave IME_KEY_Eacute IME_KEY_Ecircumflex IME_KEY_Ediaeresis IME_KEY_Igrave IME_KEY_Iacute IME_KEY_Icircumflex IME_KEY_Idiaeresis IME_KEY_ETH IME_KEY_Eth IME_KEY_Ntilde IME_KEY_Ograve IME_KEY_Oacute IME_KEY_Ocircumflex IME_KEY_Otilde IME_KEY_Odiaeresis IME_KEY_multiply IME_KEY_Ooblique IME_KEY_Oslash IME_KEY_Ugrave IME_KEY_Uacute 0x0b1 0x0b2 0x0b3 0x0b4 0x0b5 0x0b6 0x0b7 0x0b8 0x0b9 0x0ba 0x0bb 0x0bc 0x0bd 0x0be 0x0bf 0x0c0 0x0c1 0x0c2 0x0c3 0x0c4 0x0c5 0x0c6 0x0c7 0x0c8 0x0c9 0x0ca 0x0cb 0x0cc 0x0cd 0x0ce 0x0cf 0x0d0 0x0d0 0x0d1 0x0d2 0x0d3 0x0d4 0x0d5 0x0d6 0x0d7 0x0d8 IME_KEY_Ooblique 0x0d9 0x0da 64 IME_KEY_Ucircumflex IME_KEY_Udiaeresis IME_KEY_Yacute IME_KEY_THORN IME_KEY_Thorn IME_KEY_ssharp IME_KEY_agrave IME_KEY_aacute IME_KEY_acircumflex IME_KEY_atilde IME_KEY_adiaeresis IME_KEY_aring IME_KEY_ae IME_KEY_ccedilla IME_KEY_egrave IME_KEY_eacute IME_KEY_ecircumflex IME_KEY_ediaeresis IME_KEY_igrave IME_KEY_iacute IME_KEY_icircumflex IME_KEY_idiaeresis IME_KEY_eth IME_KEY_ntilde IME_KEY_ograve IME_KEY_oacute IME_KEY_ocircumflex IME_KEY_otilde IME_KEY_odiaeresis IME_KEY_division IME_KEY_oslash IME_KEY_ooblique IME_KEY_ugrave IME_KEY_uacute IME_KEY_ucircumflex IME_KEY_udiaeresis IME_KEY_yacute IME_KEY_thorn IME_KEY_ydiaeresis IME_KEY_Aogonek IME_KEY_breve IME_KEY_Lstroke IME_KEY_Lcaron IME_KEY_Sacute 0x0db 0x0dc 0x0dd 0x0de 0x0de 0x0df 0x0e0 0x0e1 0x0e2 0x0e3 0x0e4 0x0e5 0x0e6 0x0e7 0x0e8 0x0e9 0x0ea 0x0eb 0x0ec 0x0ed 0x0ee 0x0ef 0x0f0 0x0f1 0x0f2 0x0f3 0x0f4 0x0f5 0x0f6 0x0f7 0x0f8 IME_KEY_oslash 0x0f9 0x0fa 0x0fb 0x0fc 0x0fd 0x0fe 0x0ff 0x1a1 0x1a2 0x1a3 0x1a5 0x1a6 65 IME_KEY_Scaron IME_KEY_Scedilla IME_KEY_Tcaron IME_KEY_Zacute IME_KEY_Zcaron IME_KEY_Zabovedot IME_KEY_aogonek IME_KEY_ogonek IME_KEY_lstroke IME_KEY_lcaron IME_KEY_sacute IME_KEY_caron IME_KEY_scaron IME_KEY_scedilla IME_KEY_tcaron IME_KEY_zacute IME_KEY_doubleacute IME_KEY_zcaron IME_KEY_zabovedot IME_KEY_Racute IME_KEY_Abreve IME_KEY_Lacute IME_KEY_Cacute IME_KEY_Ccaron IME_KEY_Eogonek IME_KEY_Ecaron IME_KEY_Dcaron IME_KEY_Dstroke IME_KEY_Nacute IME_KEY_Ncaron IME_KEY_Odoubleacute IME_KEY_Rcaron IME_KEY_Uring IME_KEY_Udoubleacute IME_KEY_Tcedilla IME_KEY_racute IME_KEY_abreve IME_KEY_lacute IME_KEY_cacute IME_KEY_ccaron IME_KEY_eogonek IME_KEY_ecaron IME_KEY_dcaron IME_KEY_dstroke 0x1a9 0x1aa 0x1ab 0x1ac 0x1ae 0x1af 0x1b1 0x1b2 0x1b3 0x1b5 0x1b6 0x1b7 0x1b9 0x1ba 0x1bb 0x1bc 0x1bd 0x1be 0x1bf 0x1c0 0x1c3 0x1c5 0x1c6 0x1c8 0x1ca 0x1cc 0x1cf 0x1d0 0x1d1 0x1d2 0x1d5 0x1d8 0x1d9 0x1db 0x1de 0x1e0 0x1e3 0x1e5 0x1e6 0x1e8 0x1ea 0x1ec 0x1ef 0x1f0 66 IME_KEY_nacute IME_KEY_ncaron IME_KEY_odoubleacute IME_KEY_udoubleacute IME_KEY_rcaron IME_KEY_uring IME_KEY_tcedilla IME_KEY_abovedot IME_KEY_Hstroke IME_KEY_Hcircumflex IME_KEY_Iabovedot IME_KEY_Gbreve IME_KEY_Jcircumflex IME_KEY_hstroke IME_KEY_hcircumflex IME_KEY_idotless IME_KEY_gbreve IME_KEY_jcircumflex IME_KEY_Cabovedot IME_KEY_Ccircumflex IME_KEY_Gabovedot IME_KEY_Gcircumflex IME_KEY_Ubreve IME_KEY_Scircumflex IME_KEY_cabovedot IME_KEY_ccircumflex IME_KEY_gabovedot IME_KEY_gcircumflex IME_KEY_ubreve IME_KEY_scircumflex IME_KEY_kra IME_KEY_kappa IME_KEY_Rcedilla IME_KEY_Itilde IME_KEY_Lcedilla IME_KEY_Emacron IME_KEY_Gcedilla IME_KEY_Tslash IME_KEY_rcedilla IME_KEY_itilde IME_KEY_lcedilla IME_KEY_emacron IME_KEY_gcedilla IME_KEY_tslash 0x1f1 0x1f2 0x1f5 0x1fb 0x1f8 0x1f9 0x1fe 0x1ff 0x2a1 0x2a6 0x2a9 0x2ab 0x2ac 0x2b1 0x2b6 0x2b9 0x2bb 0x2bc 0x2c5 0x2c6 0x2d5 0x2d8 0x2dd 0x2de 0x2e5 0x2e6 0x2f5 0x2f8 0x2fd 0x2fe 0x3a2 0x3a2 0x3a3 0x3a5 0x3a6 0x3aa 0x3ab 0x3ac 0x3b3 0x3b5 0x3b6 0x3ba 0x3bb 0x3bc 67 IME_KEY_ENG IME_KEY_eng IME_KEY_Amacron IME_KEY_Iogonek IME_KEY_Eabovedot IME_KEY_Imacron IME_KEY_Ncedilla IME_KEY_Omacron IME_KEY_Kcedilla IME_KEY_Uogonek IME_KEY_Utilde IME_KEY_Umacron IME_KEY_amacron IME_KEY_iogonek IME_KEY_eabovedot IME_KEY_imacron IME_KEY_ncedilla IME_KEY_omacron IME_KEY_kcedilla IME_KEY_uogonek IME_KEY_utilde IME_KEY_umacron IME_KEY_Babovedot IME_KEY_babovedot IME_KEY_Dabovedot IME_KEY_Wgrave IME_KEY_Wacute IME_KEY_dabovedot IME_KEY_Ygrave IME_KEY_Fabovedot IME_KEY_fabovedot IME_KEY_Mabovedot IME_KEY_mabovedot IME_KEY_Pabovedot IME_KEY_wgrave IME_KEY_pabovedot IME_KEY_wacute IME_KEY_Sabovedot IME_KEY_ygrave IME_KEY_Wdiaeresis IME_KEY_wdiaeresis IME_KEY_sabovedot IME_KEY_Wcircumflex IME_KEY_Tabovedot 0x3bd 0x3bf 0x3c0 0x3c7 0x3cc 0x3cf 0x3d1 0x3d2 0x3d3 0x3d9 0x3dd 0x3de 0x3e0 0x3e7 0x3ec 0x3ef 0x3f1 0x3f2 0x3f3 0x3f9 0x3fd 0x3fe 0x12a1 0x12a2 0x12a6 0x12a8 0x12aa 0x12ab 0x12ac 0x12b0 0x12b1 0x12b4 0x12b5 0x12b7 0x12b8 0x12b9 0x12ba 0x12bb 0x12bc 0x12bd 0x12be 0x12bf 0x12d0 0x12d7 68 IME_KEY_Ycircumflex IME_KEY_wcircumflex IME_KEY_tabovedot IME_KEY_ycircumflex IME_KEY_OE IME_KEY_oe IME_KEY_Ydiaeresis IME_KEY_overline IME_KEY_kana_fullstop IME_KEY_kana_openingbracket IME_KEY_kana_closingbracket IME_KEY_kana_comma IME_KEY_kana_conjunctive IME_KEY_kana_middledot IME_KEY_kana_WO IME_KEY_kana_a IME_KEY_kana_i IME_KEY_kana_u IME_KEY_kana_e IME_KEY_kana_o IME_KEY_kana_ya IME_KEY_kana_yu IME_KEY_kana_yo IME_KEY_kana_tsu IME_KEY_kana_tu IME_KEY_prolongedsound IME_KEY_kana_A IME_KEY_kana_I IME_KEY_kana_U IME_KEY_kana_E IME_KEY_kana_O IME_KEY_kana_KA IME_KEY_kana_KI IME_KEY_kana_KU IME_KEY_kana_KE IME_KEY_kana_KO IME_KEY_kana_SA IME_KEY_kana_SHI IME_KEY_kana_SU IME_KEY_kana_SE IME_KEY_kana_SO IME_KEY_kana_TA IME_KEY_kana_CHI IME_KEY_kana_TI 0x12de 0x12f0 0x12f7 0x12fe 0x13bc 0x13bd 0x13be 0x47e 0x4a1 0x4a2 0x4a3 0x4a4 0x4a5 0x4a5 0x4a6 0x4a7 0x4a8 0x4a9 0x4aa 0x4ab 0x4ac 0x4ad 0x4ae 0x4af 0x4af 0x4b0 0x4b1 0x4b2 0x4b3 0x4b4 0x4b5 0x4b6 0x4b7 0x4b8 0x4b9 0x4ba 0x4bb 0x4bc 0x4bd 0x4be 0x4bf 0x4c0 0x4c1 0x4c1 69 IME_KEY_kana_TSU IME_KEY_kana_TU IME_KEY_kana_TE IME_KEY_kana_TO IME_KEY_kana_NA IME_KEY_kana_NI IME_KEY_kana_NU IME_KEY_kana_NE IME_KEY_kana_NO IME_KEY_kana_HA IME_KEY_kana_HI IME_KEY_kana_FU IME_KEY_kana_HU IME_KEY_kana_HE IME_KEY_kana_HO IME_KEY_kana_MA IME_KEY_kana_MI IME_KEY_kana_MU IME_KEY_kana_ME IME_KEY_kana_MO IME_KEY_kana_YA IME_KEY_kana_YU IME_KEY_kana_YO IME_KEY_kana_RA IME_KEY_kana_RI IME_KEY_kana_RU IME_KEY_kana_RE IME_KEY_kana_RO IME_KEY_kana_WA IME_KEY_kana_N IME_KEY_voicedsound IME_KEY_semivoicedsound IME_KEY_kana_switch IME_KEY_Farsi_0 IME_KEY_Farsi_1 IME_KEY_Farsi_2 IME_KEY_Farsi_3 IME_KEY_Farsi_4 IME_KEY_Farsi_5 IME_KEY_Farsi_6 IME_KEY_Farsi_7 IME_KEY_Farsi_8 IME_KEY_Farsi_9 IME_KEY_Arabic_percent 0x4c2 0x4c2 0x4c3 0x4c4 0x4c5 0x4c6 0x4c7 0x4c8 0x4c9 0x4ca 0x4cb 0x4cc 0x4cc 0x4cd 0x4ce 0x4cf 0x4d0 0x4d1 0x4d2 0x4d3 0x4d4 0x4d5 0x4d6 0x4d7 0x4d8 0x4d9 0x4da 0x4db 0x4dc 0x4dd 0x4de 0x4df 0xFF7E 0x590 0x591 0x592 0x593 0x594 0x595 0x596 0x597 0x598 0x599 0x5a5 70 IME_KEY_Arabic_superscript_alef IME_KEY_Arabic_tteh IME_KEY_Arabic_peh IME_KEY_Arabic_tcheh IME_KEY_Arabic_ddal IME_KEY_Arabic_rreh IME_KEY_Arabic_comma IME_KEY_Arabic_fullstop IME_KEY_Arabic_0 IME_KEY_Arabic_1 IME_KEY_Arabic_2 IME_KEY_Arabic_3 IME_KEY_Arabic_4 IME_KEY_Arabic_5 IME_KEY_Arabic_6 IME_KEY_Arabic_7 IME_KEY_Arabic_8 IME_KEY_Arabic_9 IME_KEY_Arabic_semicolon IME_KEY_Arabic_question_mark IME_KEY_Arabic_hamza IME_KEY_Arabic_maddaonalef IME_KEY_Arabic_hamzaonalef IME_KEY_Arabic_hamzaonwaw IME_KEY_Arabic_hamzaunderalef IME_KEY_Arabic_hamzaonyeh IME_KEY_Arabic_alef IME_KEY_Arabic_beh IME_KEY_Arabic_tehmarbuta IME_KEY_Arabic_teh IME_KEY_Arabic_theh IME_KEY_Arabic_jeem IME_KEY_Arabic_hah IME_KEY_Arabic_khah IME_KEY_Arabic_dal IME_KEY_Arabic_thal IME_KEY_Arabic_ra IME_KEY_Arabic_zain IME_KEY_Arabic_seen IME_KEY_Arabic_sheen IME_KEY_Arabic_sad IME_KEY_Arabic_dad IME_KEY_Arabic_tah IME_KEY_Arabic_zah 0x5a6 0x5a7 0x5a8 0x5a9 0x5aa 0x5ab 0x5ac 0x5ae 0x5b0 0x5b1 0x5b2 0x5b3 0x5b4 0x5b5 0x5b6 0x5b7 0x5b8 0x5b9 0x5bb 0x5bf 0x5c1 0x5c2 0x5c3 0x5c4 0x5c5 0x5c6 0x5c7 0x5c8 0x5c9 0x5ca 0x5cb 0x5cc 0x5cd 0x5ce 0x5cf 0x5d0 0x5d1 0x5d2 0x5d3 0x5d4 0x5d5 0x5d6 0x5d7 0x5d8 71 IME_KEY_Arabic_ain IME_KEY_Arabic_ghain IME_KEY_Arabic_tatweel IME_KEY_Arabic_feh IME_KEY_Arabic_qaf IME_KEY_Arabic_kaf IME_KEY_Arabic_lam IME_KEY_Arabic_meem IME_KEY_Arabic_noon IME_KEY_Arabic_ha IME_KEY_Arabic_heh IME_KEY_Arabic_waw IME_KEY_Arabic_alefmaksura IME_KEY_Arabic_yeh IME_KEY_Arabic_fathatan IME_KEY_Arabic_dammatan IME_KEY_Arabic_kasratan IME_KEY_Arabic_fatha IME_KEY_Arabic_damma IME_KEY_Arabic_kasra IME_KEY_Arabic_shadda IME_KEY_Arabic_sukun IME_KEY_Arabic_madda_above IME_KEY_Arabic_hamza_above IME_KEY_Arabic_hamza_below IME_KEY_Arabic_jeh IME_KEY_Arabic_veh IME_KEY_Arabic_keheh IME_KEY_Arabic_gaf IME_KEY_Arabic_noon_ghunna IME_KEY_Arabic_heh_doachashmee IME_KEY_Farsi_yeh IME_KEY_Arabic_farsi_yeh IME_KEY_Arabic_yeh_baree IME_KEY_Arabic_heh_goal IME_KEY_Arabic_switch IME_KEY_Cyrillic_GHE_bar IME_KEY_Cyrillic_ghe_bar IME_KEY_Cyrillic_ZHE_descender IME_KEY_Cyrillic_zhe_descender IME_KEY_Cyrillic_KA_descender IME_KEY_Cyrillic_ka_descender IME_KEY_Cyrillic_KA_vertstroke IME_KEY_Cyrillic_ka_vertstroke 0x5d9 0x5da 0x5e0 0x5e1 0x5e2 0x5e3 0x5e4 0x5e5 0x5e6 0x5e7 0x5e7 0x5e8 0x5e9 0x5ea 0x5eb 0x5ec 0x5ed 0x5ee 0x5ef 0x5f0 0x5f1 0x5f2 0x5f3 0x5f4 0x5f5 0x5f6 0x5f7 0x5f8 0x5f9 0x5fa 0x5fb 0x5fc IME_KEY_Farsi_yeh 0x5fd 0x5fe 0xFF7E 0x680 0x690 0x681 0x691 0x682 0x692 0x683 0x693 72 IME_KEY_Cyrillic_EN_descender IME_KEY_Cyrillic_en_descender IME_KEY_Cyrillic_U_straight IME_KEY_Cyrillic_u_straight IME_KEY_Cyrillic_U_straight_bar IME_KEY_Cyrillic_u_straight_bar IME_KEY_Cyrillic_HA_descender IME_KEY_Cyrillic_ha_descender IME_KEY_Cyrillic_CHE_descender IME_KEY_Cyrillic_che_descender IME_KEY_Cyrillic_CHE_vertstroke IME_KEY_Cyrillic_che_vertstroke IME_KEY_Cyrillic_SHHA IME_KEY_Cyrillic_shha IME_KEY_Cyrillic_SCHWA IME_KEY_Cyrillic_schwa IME_KEY_Cyrillic_I_macron IME_KEY_Cyrillic_i_macron IME_KEY_Cyrillic_O_bar IME_KEY_Cyrillic_o_bar IME_KEY_Cyrillic_U_macron IME_KEY_Cyrillic_u_macron IME_KEY_Serbian_dje IME_KEY_Macedonia_gje IME_KEY_Cyrillic_io IME_KEY_Ukrainian_ie IME_KEY_Ukranian_je IME_KEY_Macedonia_dse IME_KEY_Ukrainian_i IME_KEY_Ukranian_i IME_KEY_Ukrainian_yi IME_KEY_Ukranian_yi IME_KEY_Cyrillic_je IME_KEY_Serbian_je IME_KEY_Cyrillic_lje IME_KEY_Serbian_lje IME_KEY_Cyrillic_nje IME_KEY_Serbian_nje IME_KEY_Serbian_tshe IME_KEY_Macedonia_kje IME_KEY_Ukrainian_ghe_with_upturn IME_KEY_Byelorussian_shortu IME_KEY_Cyrillic_dzhe IME_KEY_Serbian_dze 0x684 0x694 0x685 0x695 0x686 0x696 0x687 0x697 0x688 0x698 0x689 0x699 0x68a 0x69a 0x68c 0x69c 0x68d 0x69d 0x68e 0x69e 0x68f 0x69f 0x6a1 0x6a2 0x6a3 0x6a4 0x6a4 0x6a5 0x6a6 0x6a6 0x6a7 0x6a7 0x6a8 0x6a8 0x6a9 0x6a9 0x6aa 0x6aa 0x6ab 0x6ac 0x6ad 0x6ae 0x6af 0x6af 73 IME_KEY_numerosign IME_KEY_Serbian_DJE IME_KEY_Macedonia_GJE IME_KEY_Cyrillic_IO IME_KEY_Ukrainian_IE IME_KEY_Ukranian_JE IME_KEY_Macedonia_DSE IME_KEY_Ukrainian_I IME_KEY_Ukranian_I IME_KEY_Ukrainian_YI IME_KEY_Ukranian_YI IME_KEY_Cyrillic_JE IME_KEY_Serbian_JE IME_KEY_Cyrillic_LJE IME_KEY_Serbian_LJE IME_KEY_Cyrillic_NJE IME_KEY_Serbian_NJE IME_KEY_Serbian_TSHE IME_KEY_Macedonia_KJE IME_KEY_Ukrainian_GHE_WITH_UPTURN IME_KEY_Byelorussian_SHORTU IME_KEY_Cyrillic_DZHE IME_KEY_Serbian_DZE IME_KEY_Cyrillic_yu IME_KEY_Cyrillic_a IME_KEY_Cyrillic_be IME_KEY_Cyrillic_tse IME_KEY_Cyrillic_de IME_KEY_Cyrillic_ie IME_KEY_Cyrillic_ef IME_KEY_Cyrillic_ghe IME_KEY_Cyrillic_ha IME_KEY_Cyrillic_i IME_KEY_Cyrillic_shorti IME_KEY_Cyrillic_ka IME_KEY_Cyrillic_el IME_KEY_Cyrillic_em IME_KEY_Cyrillic_en IME_KEY_Cyrillic_o IME_KEY_Cyrillic_pe IME_KEY_Cyrillic_ya IME_KEY_Cyrillic_er IME_KEY_Cyrillic_es IME_KEY_Cyrillic_te 0x6b0 0x6b1 0x6b2 0x6b3 0x6b4 0x6b4 0x6b5 0x6b6 0x6b6 0x6b7 0x6b7 0x6b8 0x6b8 0x6b9 0x6b9 0x6ba 0x6ba 0x6bb 0x6bc 0x6bd 0x6be 0x6bf 0x6bf 0x6c0 0x6c1 0x6c2 0x6c3 0x6c4 0x6c5 0x6c6 0x6c7 0x6c8 0x6c9 0x6ca 0x6cb 0x6cc 0x6cd 0x6ce 0x6cf 0x6d0 0x6d1 0x6d2 0x6d3 0x6d4 74 IME_KEY_Cyrillic_u IME_KEY_Cyrillic_zhe IME_KEY_Cyrillic_ve IME_KEY_Cyrillic_softsign IME_KEY_Cyrillic_yeru IME_KEY_Cyrillic_ze IME_KEY_Cyrillic_sha IME_KEY_Cyrillic_e IME_KEY_Cyrillic_shcha IME_KEY_Cyrillic_che IME_KEY_Cyrillic_hardsign IME_KEY_Cyrillic_YU IME_KEY_Cyrillic_A IME_KEY_Cyrillic_BE IME_KEY_Cyrillic_TSE IME_KEY_Cyrillic_DE IME_KEY_Cyrillic_IE IME_KEY_Cyrillic_EF IME_KEY_Cyrillic_GHE IME_KEY_Cyrillic_HA IME_KEY_Cyrillic_I IME_KEY_Cyrillic_SHORTI IME_KEY_Cyrillic_KA IME_KEY_Cyrillic_EL IME_KEY_Cyrillic_EM IME_KEY_Cyrillic_EN IME_KEY_Cyrillic_O IME_KEY_Cyrillic_PE IME_KEY_Cyrillic_YA IME_KEY_Cyrillic_ER IME_KEY_Cyrillic_ES IME_KEY_Cyrillic_TE IME_KEY_Cyrillic_U IME_KEY_Cyrillic_ZHE IME_KEY_Cyrillic_VE IME_KEY_Cyrillic_SOFTSIGN IME_KEY_Cyrillic_YERU IME_KEY_Cyrillic_ZE IME_KEY_Cyrillic_SHA IME_KEY_Cyrillic_E IME_KEY_Cyrillic_SHCHA IME_KEY_Cyrillic_CHE IME_KEY_Cyrillic_HARDSIGN IME_KEY_Greek_ALPHAaccent 0x6d5 0x6d6 0x6d7 0x6d8 0x6d9 0x6da 0x6db 0x6dc 0x6dd 0x6de 0x6df 0x6e0 0x6e1 0x6e2 0x6e3 0x6e4 0x6e5 0x6e6 0x6e7 0x6e8 0x6e9 0x6ea 0x6eb 0x6ec 0x6ed 0x6ee 0x6ef 0x6f0 0x6f1 0x6f2 0x6f3 0x6f4 0x6f5 0x6f6 0x6f7 0x6f8 0x6f9 0x6fa 0x6fb 0x6fc 0x6fd 0x6fe 0x6ff 0x7a1 75 IME_KEY_Greek_EPSILONaccent IME_KEY_Greek_ETAaccent IME_KEY_Greek_IOTAaccent IME_KEY_Greek_IOTAdieresis IME_KEY_Greek_IOTAdiaeresis IME_KEY_Greek_OMICRONaccent IME_KEY_Greek_UPSILONaccent IME_KEY_Greek_UPSILONdieresis IME_KEY_Greek_OMEGAaccent IME_KEY_Greek_accentdieresis IME_KEY_Greek_horizbar IME_KEY_Greek_alphaaccent IME_KEY_Greek_epsilonaccent IME_KEY_Greek_etaaccent IME_KEY_Greek_iotaaccent IME_KEY_Greek_iotadieresis IME_KEY_Greek_iotaaccentdieresis IME_KEY_Greek_omicronaccent IME_KEY_Greek_upsilonaccent IME_KEY_Greek_upsilondieresis IME_KEY_Greek_upsilonaccentdieresis IME_KEY_Greek_omegaaccent IME_KEY_Greek_ALPHA IME_KEY_Greek_BETA IME_KEY_Greek_GAMMA IME_KEY_Greek_DELTA IME_KEY_Greek_EPSILON IME_KEY_Greek_ZETA IME_KEY_Greek_ETA IME_KEY_Greek_THETA IME_KEY_Greek_IOTA IME_KEY_Greek_KAPPA IME_KEY_Greek_LAMDA IME_KEY_Greek_LAMBDA IME_KEY_Greek_MU IME_KEY_Greek_NU IME_KEY_Greek_XI IME_KEY_Greek_OMICRON IME_KEY_Greek_PI IME_KEY_Greek_RHO IME_KEY_Greek_SIGMA IME_KEY_Greek_TAU IME_KEY_Greek_UPSILON IME_KEY_Greek_PHI 0x7a2 0x7a3 0x7a4 0x7a5 IME_KEY_Greek_IOTAdieresis 0x7a7 0x7a8 0x7a9 0x7ab 0x7ae 0x7af 0x7b1 0x7b2 0x7b3 0x7b4 0x7b5 0x7b6 0x7b7 0x7b8 0x7b9 0x7ba 0x7bb 0x7c1 0x7c2 0x7c3 0x7c4 0x7c5 0x7c6 0x7c7 0x7c8 0x7c9 0x7ca 0x7cb 0x7cb 0x7cc 0x7cd 0x7ce 0x7cf 0x7d0 0x7d1 0x7d2 0x7d4 0x7d5 0x7d6 76 IME_KEY_Greek_CHI IME_KEY_Greek_PSI IME_KEY_Greek_OMEGA IME_KEY_Greek_alpha IME_KEY_Greek_beta IME_KEY_Greek_gamma IME_KEY_Greek_delta IME_KEY_Greek_epsilon IME_KEY_Greek_zeta IME_KEY_Greek_eta IME_KEY_Greek_theta IME_KEY_Greek_iota IME_KEY_Greek_kappa IME_KEY_Greek_lamda IME_KEY_Greek_lambda IME_KEY_Greek_mu IME_KEY_Greek_nu IME_KEY_Greek_xi IME_KEY_Greek_omicron IME_KEY_Greek_pi IME_KEY_Greek_rho IME_KEY_Greek_sigma IME_KEY_Greek_finalsmallsigma IME_KEY_Greek_tau IME_KEY_Greek_upsilon IME_KEY_Greek_phi IME_KEY_Greek_chi IME_KEY_Greek_psi IME_KEY_Greek_omega IME_KEY_Greek_switch IME_KEY_leftradical IME_KEY_topleftradical IME_KEY_horizconnector IME_KEY_topintegral IME_KEY_botintegral IME_KEY_vertconnector IME_KEY_topleftsqbracket IME_KEY_botleftsqbracket IME_KEY_toprightsqbracket IME_KEY_botrightsqbracket IME_KEY_topleftparens IME_KEY_botleftparens IME_KEY_toprightparens IME_KEY_botrightparens 0x7d7 0x7d8 0x7d9 0x7e1 0x7e2 0x7e3 0x7e4 0x7e5 0x7e6 0x7e7 0x7e8 0x7e9 0x7ea 0x7eb 0x7eb 0x7ec 0x7ed 0x7ee 0x7ef 0x7f0 0x7f1 0x7f2 0x7f3 0x7f4 0x7f5 0x7f6 0x7f7 0x7f8 0x7f9 0xFF7E 0x8a1 0x8a2 0x8a3 0x8a4 0x8a5 0x8a6 0x8a7 0x8a8 0x8a9 0x8aa 0x8ab 0x8ac 0x8ad 0x8ae 77 IME_KEY_leftmiddlecurlybrace IME_KEY_rightmiddlecurlybrace IME_KEY_topleftsummation IME_KEY_botleftsummation IME_KEY_topvertsummationconnector IME_KEY_botvertsummationconnector IME_KEY_toprightsummation IME_KEY_botrightsummation IME_KEY_rightmiddlesummation IME_KEY_lessthanequal IME_KEY_notequal IME_KEY_greaterthanequal IME_KEY_integral IME_KEY_therefore IME_KEY_variation IME_KEY_infinity IME_KEY_nabla IME_KEY_approximate IME_KEY_similarequal IME_KEY_ifonlyif IME_KEY_implies IME_KEY_identical IME_KEY_radical IME_KEY_includedin IME_KEY_includes IME_KEY_intersection IME_KEY_union IME_KEY_logicaland IME_KEY_logicalor IME_KEY_partialderivative IME_KEY_function IME_KEY_leftarrow IME_KEY_uparrow IME_KEY_rightarrow IME_KEY_downarrow IME_KEY_blank IME_KEY_soliddiamond IME_KEY_checkerboard IME_KEY_ht IME_KEY_ff IME_KEY_cr IME_KEY_lf IME_KEY_nl IME_KEY_vt 0x8af 0x8b0 0x8b1 0x8b2 0x8b3 0x8b4 0x8b5 0x8b6 0x8b7 0x8bc 0x8bd 0x8be 0x8bf 0x8c0 0x8c1 0x8c2 0x8c5 0x8c8 0x8c9 0x8cd 0x8ce 0x8cf 0x8d6 0x8da 0x8db 0x8dc 0x8dd 0x8de 0x8df 0x8ef 0x8f6 0x8fb 0x8fc 0x8fd 0x8fe 0x9df 0x9e0 0x9e1 0x9e2 0x9e3 0x9e4 0x9e5 0x9e8 0x9e9 78 IME_KEY_lowrightcorner IME_KEY_uprightcorner IME_KEY_upleftcorner IME_KEY_lowleftcorner IME_KEY_crossinglines IME_KEY_horizlinescan1 IME_KEY_horizlinescan3 IME_KEY_horizlinescan5 IME_KEY_horizlinescan7 IME_KEY_horizlinescan9 IME_KEY_leftt IME_KEY_rightt IME_KEY_bott IME_KEY_topt IME_KEY_vertbar IME_KEY_emspace IME_KEY_enspace IME_KEY_em3space IME_KEY_em4space IME_KEY_digitspace IME_KEY_punctspace IME_KEY_thinspace IME_KEY_hairspace IME_KEY_emdash IME_KEY_endash IME_KEY_signifblank IME_KEY_ellipsis IME_KEY_doubbaselinedot IME_KEY_onethird IME_KEY_twothirds IME_KEY_onefifth IME_KEY_twofifths IME_KEY_threefifths IME_KEY_fourfifths IME_KEY_onesixth IME_KEY_fivesixths IME_KEY_careof IME_KEY_figdash IME_KEY_leftanglebracket IME_KEY_decimalpoint IME_KEY_rightanglebracket IME_KEY_marker IME_KEY_oneeighth IME_KEY_threeeighths 0x9ea 0x9eb 0x9ec 0x9ed 0x9ee 0x9ef 0x9f0 0x9f1 0x9f2 0x9f3 0x9f4 0x9f5 0x9f6 0x9f7 0x9f8 0xaa1 0xaa2 0xaa3 0xaa4 0xaa5 0xaa6 0xaa7 0xaa8 0xaa9 0xaaa 0xaac 0xaae 0xaaf 0xab0 0xab1 0xab2 0xab3 0xab4 0xab5 0xab6 0xab7 0xab8 0xabb 0xabc 0xabd 0xabe 0xabf 0xac3 0xac4 79 IME_KEY_fiveeighths IME_KEY_seveneighths IME_KEY_trademark IME_KEY_signaturemark IME_KEY_trademarkincircle IME_KEY_leftopentriangle IME_KEY_rightopentriangle IME_KEY_emopencircle IME_KEY_emopenrectangle IME_KEY_leftsinglequotemark IME_KEY_rightsinglequotemark IME_KEY_leftdoublequotemark IME_KEY_rightdoublequotemark IME_KEY_prescription IME_KEY_minutes IME_KEY_seconds IME_KEY_latincross IME_KEY_hexagram IME_KEY_filledrectbullet IME_KEY_filledlefttribullet IME_KEY_filledrighttribullet IME_KEY_emfilledcircle IME_KEY_emfilledrect IME_KEY_enopencircbullet IME_KEY_enopensquarebullet IME_KEY_openrectbullet IME_KEY_opentribulletup IME_KEY_opentribulletdown IME_KEY_openstar IME_KEY_enfilledcircbullet IME_KEY_enfilledsqbullet IME_KEY_filledtribulletup IME_KEY_filledtribulletdown IME_KEY_leftpointer IME_KEY_rightpointer IME_KEY_club IME_KEY_diamond IME_KEY_heart IME_KEY_maltesecross IME_KEY_dagger IME_KEY_doubledagger IME_KEY_checkmark IME_KEY_ballotcross IME_KEY_musicalsharp 0xac5 0xac6 0xac9 0xaca 0xacb 0xacc 0xacd 0xace 0xacf 0xad0 0xad1 0xad2 0xad3 0xad4 0xad6 0xad7 0xad9 0xada 0xadb 0xadc 0xadd 0xade 0xadf 0xae0 0xae1 0xae2 0xae3 0xae4 0xae5 0xae6 0xae7 0xae8 0xae9 0xaea 0xaeb 0xaec 0xaed 0xaee 0xaf0 0xaf1 0xaf2 0xaf3 0xaf4 0xaf5 80 IME_KEY_musicalflat IME_KEY_malesymbol IME_KEY_femalesymbol IME_KEY_telephone IME_KEY_telephonerecorder IME_KEY_phonographcopyright IME_KEY_caret IME_KEY_singlelowquotemark IME_KEY_doublelowquotemark IME_KEY_cursor IME_KEY_leftcaret IME_KEY_rightcaret IME_KEY_downcaret IME_KEY_upcaret IME_KEY_overbar IME_KEY_downtack IME_KEY_upshoe IME_KEY_downstile IME_KEY_underbar IME_KEY_jot IME_KEY_quad IME_KEY_uptack IME_KEY_circle IME_KEY_upstile IME_KEY_downshoe IME_KEY_rightshoe IME_KEY_leftshoe IME_KEY_lefttack IME_KEY_righttack IME_KEY_hebrew_doublelowline IME_KEY_hebrew_aleph IME_KEY_hebrew_bet IME_KEY_hebrew_beth IME_KEY_hebrew_gimel IME_KEY_hebrew_gimmel IME_KEY_hebrew_dalet IME_KEY_hebrew_daleth IME_KEY_hebrew_he IME_KEY_hebrew_waw IME_KEY_hebrew_zain IME_KEY_hebrew_zayin IME_KEY_hebrew_chet IME_KEY_hebrew_het IME_KEY_hebrew_tet 0xaf6 0xaf7 0xaf8 0xaf9 0xafa 0xafb 0xafc 0xafd 0xafe 0xaff 0xba3 0xba6 0xba8 0xba9 0xbc0 0xbc2 0xbc3 0xbc4 0xbc6 0xbca 0xbcc 0xbce 0xbcf 0xbd3 0xbd6 0xbd8 0xbda 0xbdc 0xbfc 0xcdf 0xce0 0xce1 0xce1 0xce2 0xce2 0xce3 0xce3 0xce4 0xce5 0xce6 0xce6 0xce7 0xce7 0xce8 81 IME_KEY_hebrew_teth IME_KEY_hebrew_yod IME_KEY_hebrew_finalkaph IME_KEY_hebrew_kaph IME_KEY_hebrew_lamed IME_KEY_hebrew_finalmem IME_KEY_hebrew_mem IME_KEY_hebrew_finalnun IME_KEY_hebrew_nun IME_KEY_hebrew_samech IME_KEY_hebrew_samekh IME_KEY_hebrew_ayin IME_KEY_hebrew_finalpe IME_KEY_hebrew_pe IME_KEY_hebrew_finalzade IME_KEY_hebrew_finalzadi IME_KEY_hebrew_zade IME_KEY_hebrew_zadi IME_KEY_hebrew_qoph IME_KEY_hebrew_kuf IME_KEY_hebrew_resh IME_KEY_hebrew_shin IME_KEY_hebrew_taw IME_KEY_hebrew_taf IME_KEY_Hebrew_switch IME_KEY_Thai_kokai IME_KEY_Thai_khokhai IME_KEY_Thai_khokhuat IME_KEY_Thai_khokhwai IME_KEY_Thai_khokhon IME_KEY_Thai_khorakhang IME_KEY_Thai_ngongu IME_KEY_Thai_chochan IME_KEY_Thai_choching IME_KEY_Thai_chochang IME_KEY_Thai_soso IME_KEY_Thai_chochoe IME_KEY_Thai_yoying IME_KEY_Thai_dochada IME_KEY_Thai_topatak IME_KEY_Thai_thothan IME_KEY_Thai_thonangmontho IME_KEY_Thai_thophuthao IME_KEY_Thai_nonen 0xce8 0xce9 0xcea 0xceb 0xcec 0xced 0xcee 0xcef 0xcf0 0xcf1 0xcf1 0xcf2 0xcf3 0xcf4 0xcf5 0xcf5 0xcf6 0xcf6 0xcf7 0xcf7 0xcf8 0xcf9 0xcfa 0xcfa 0xFF7E 0xda1 0xda2 0xda3 0xda4 0xda5 0xda6 0xda7 0xda8 0xda9 0xdaa 0xdab 0xdac 0xdad 0xdae 0xdaf 0xdb0 0xdb1 0xdb2 0xdb3 82 IME_KEY_Thai_dodek IME_KEY_Thai_totao IME_KEY_Thai_thothung IME_KEY_Thai_thothahan IME_KEY_Thai_thothong IME_KEY_Thai_nonu IME_KEY_Thai_bobaimai IME_KEY_Thai_popla IME_KEY_Thai_phophung IME_KEY_Thai_fofa IME_KEY_Thai_phophan IME_KEY_Thai_fofan IME_KEY_Thai_phosamphao IME_KEY_Thai_moma IME_KEY_Thai_yoyak IME_KEY_Thai_rorua IME_KEY_Thai_ru IME_KEY_Thai_loling IME_KEY_Thai_lu IME_KEY_Thai_wowaen IME_KEY_Thai_sosala IME_KEY_Thai_sorusi IME_KEY_Thai_sosua IME_KEY_Thai_hohip IME_KEY_Thai_lochula IME_KEY_Thai_oang IME_KEY_Thai_honokhuk IME_KEY_Thai_paiyannoi IME_KEY_Thai_saraa IME_KEY_Thai_maihanakat IME_KEY_Thai_saraaa IME_KEY_Thai_saraam IME_KEY_Thai_sarai IME_KEY_Thai_saraii IME_KEY_Thai_saraue IME_KEY_Thai_sarauee IME_KEY_Thai_sarau IME_KEY_Thai_sarauu IME_KEY_Thai_phinthu IME_KEY_Thai_maihanakat_maitho IME_KEY_Thai_baht IME_KEY_Thai_sarae IME_KEY_Thai_saraae IME_KEY_Thai_sarao 0xdb4 0xdb5 0xdb6 0xdb7 0xdb8 0xdb9 0xdba 0xdbb 0xdbc 0xdbd 0xdbe 0xdbf 0xdc0 0xdc1 0xdc2 0xdc3 0xdc4 0xdc5 0xdc6 0xdc7 0xdc8 0xdc9 0xdca 0xdcb 0xdcc 0xdcd 0xdce 0xdcf 0xdd0 0xdd1 0xdd2 0xdd3 0xdd4 0xdd5 0xdd6 0xdd7 0xdd8 0xdd9 0xdda 0xdde 0xddf 0xde0 0xde1 0xde2 83 IME_KEY_Thai_saraaimaimuan IME_KEY_Thai_saraaimaimalai IME_KEY_Thai_lakkhangyao IME_KEY_Thai_maiyamok IME_KEY_Thai_maitaikhu IME_KEY_Thai_maiek IME_KEY_Thai_maitho IME_KEY_Thai_maitri IME_KEY_Thai_maichattawa IME_KEY_Thai_thanthakhat IME_KEY_Thai_nikhahit IME_KEY_Thai_leksun IME_KEY_Thai_leknung IME_KEY_Thai_leksong IME_KEY_Thai_leksam IME_KEY_Thai_leksi IME_KEY_Thai_lekha IME_KEY_Thai_lekhok IME_KEY_Thai_lekchet IME_KEY_Thai_lekpaet IME_KEY_Thai_lekkao IME_KEY_Hangul IME_KEY_Hangul_Start IME_KEY_Hangul_End IME_KEY_Hangul_Hanja IME_KEY_Hangul_Jamo IME_KEY_Hangul_Romaja IME_KEY_Hangul_Codeinput IME_KEY_Hangul_Jeonja IME_KEY_Hangul_Banja IME_KEY_Hangul_PreHanja IME_KEY_Hangul_PostHanja IME_KEY_Hangul_SingleCandidate IME_KEY_Hangul_MultipleCandidate IME_KEY_Hangul_PreviousCandidate IME_KEY_Hangul_Special IME_KEY_Hangul_switch IME_KEY_Hangul_Kiyeog IME_KEY_Hangul_SsangKiyeog IME_KEY_Hangul_KiyeogSios IME_KEY_Hangul_Nieun IME_KEY_Hangul_NieunJieuj IME_KEY_Hangul_NieunHieuh IME_KEY_Hangul_Dikeud 0xde3 0xde4 0xde5 0xde6 0xde7 0xde8 0xde9 0xdea 0xdeb 0xdec 0xded 0xdf0 0xdf1 0xdf2 0xdf3 0xdf4 0xdf5 0xdf6 0xdf7 0xdf8 0xdf9 0xff31 0xff32 0xff33 0xff34 0xff35 0xff36 0xff37 0xff38 0xff39 0xff3a 0xff3b 0xff3c 0xff3d 0xff3e 0xff3f 0xFF7E 0xea1 0xea2 0xea3 0xea4 0xea5 0xea6 0xea7 84 IME_KEY_Hangul_SsangDikeud IME_KEY_Hangul_Rieul IME_KEY_Hangul_RieulKiyeog IME_KEY_Hangul_RieulMieum IME_KEY_Hangul_RieulPieub IME_KEY_Hangul_RieulSios IME_KEY_Hangul_RieulTieut IME_KEY_Hangul_RieulPhieuf IME_KEY_Hangul_RieulHieuh IME_KEY_Hangul_Mieum IME_KEY_Hangul_Pieub IME_KEY_Hangul_SsangPieub IME_KEY_Hangul_PieubSios IME_KEY_Hangul_Sios IME_KEY_Hangul_SsangSios IME_KEY_Hangul_Ieung IME_KEY_Hangul_Jieuj IME_KEY_Hangul_SsangJieuj IME_KEY_Hangul_Cieuc IME_KEY_Hangul_Khieuq IME_KEY_Hangul_Tieut IME_KEY_Hangul_Phieuf IME_KEY_Hangul_Hieuh IME_KEY_Hangul_A IME_KEY_Hangul_AE IME_KEY_Hangul_YA IME_KEY_Hangul_YAE IME_KEY_Hangul_EO IME_KEY_Hangul_E IME_KEY_Hangul_YEO IME_KEY_Hangul_YE IME_KEY_Hangul_O IME_KEY_Hangul_WA IME_KEY_Hangul_WAE IME_KEY_Hangul_OE IME_KEY_Hangul_YO IME_KEY_Hangul_U IME_KEY_Hangul_WEO IME_KEY_Hangul_WE IME_KEY_Hangul_WI IME_KEY_Hangul_YU IME_KEY_Hangul_EU IME_KEY_Hangul_YI IME_KEY_Hangul_I 0xea8 0xea9 0xeaa 0xeab 0xeac 0xead 0xeae 0xeaf 0xeb0 0xeb1 0xeb2 0xeb3 0xeb4 0xeb5 0xeb6 0xeb7 0xeb8 0xeb9 0xeba 0xebb 0xebc 0xebd 0xebe 0xebf 0xec0 0xec1 0xec2 0xec3 0xec4 0xec5 0xec6 0xec7 0xec8 0xec9 0xeca 0xecb 0xecc 0xecd 0xece 0xecf 0xed0 0xed1 0xed2 0xed3 85 IME_KEY_Hangul_J_Kiyeog IME_KEY_Hangul_J_SsangKiyeog IME_KEY_Hangul_J_KiyeogSios IME_KEY_Hangul_J_Nieun IME_KEY_Hangul_J_NieunJieuj IME_KEY_Hangul_J_NieunHieuh IME_KEY_Hangul_J_Dikeud IME_KEY_Hangul_J_Rieul IME_KEY_Hangul_J_RieulKiyeog IME_KEY_Hangul_J_RieulMieum IME_KEY_Hangul_J_RieulPieub IME_KEY_Hangul_J_RieulSios IME_KEY_Hangul_J_RieulTieut IME_KEY_Hangul_J_RieulPhieuf IME_KEY_Hangul_J_RieulHieuh IME_KEY_Hangul_J_Mieum IME_KEY_Hangul_J_Pieub IME_KEY_Hangul_J_PieubSios IME_KEY_Hangul_J_Sios IME_KEY_Hangul_J_SsangSios IME_KEY_Hangul_J_Ieung IME_KEY_Hangul_J_Jieuj IME_KEY_Hangul_J_Cieuc IME_KEY_Hangul_J_Khieuq IME_KEY_Hangul_J_Tieut IME_KEY_Hangul_J_Phieuf IME_KEY_Hangul_J_Hieuh IME_KEY_Hangul_RieulYeorinHieuh IME_KEY_Hangul_SunkyeongeumMieum IME_KEY_Hangul_SunkyeongeumPieub IME_KEY_Hangul_PanSios IME_KEY_Hangul_KkogjiDalrinIeung IME_KEY_Hangul_SunkyeongeumPhieuf IME_KEY_Hangul_YeorinHieuh IME_KEY_Hangul_AraeA IME_KEY_Hangul_AraeAE IME_KEY_Hangul_J_PanSios IME_KEY_Hangul_J_KkogjiDalrinIeung IME_KEY_Hangul_J_YeorinHieuh IME_KEY_Korean_Won IME_KEY_Armenian_eternity IME_KEY_Armenian_ligature_ew IME_KEY_Armenian_full_stop IME_KEY_Armenian_verjaket 0xed4 0xed5 0xed6 0xed7 0xed8 0xed9 0xeda 0xedb 0xedc 0xedd 0xede 0xedf 0xee0 0xee1 0xee2 0xee3 0xee4 0xee5 0xee6 0xee7 0xee8 0xee9 0xeea 0xeeb 0xeec 0xeed 0xeee 0xeef 0xef0 0xef1 0xef2 0xef3 0xef4 0xef5 0xef6 0xef7 0xef8 0xef9 0xefa 0xeff 0x14a1 0x14a2 0x14a3 0x14a3 86 IME_KEY_Armenian_parenright IME_KEY_Armenian_parenleft IME_KEY_Armenian_guillemotright IME_KEY_Armenian_guillemotleft IME_KEY_Armenian_em_dash IME_KEY_Armenian_dot IME_KEY_Armenian_mijaket IME_KEY_Armenian_separation_mark IME_KEY_Armenian_but IME_KEY_Armenian_comma IME_KEY_Armenian_en_dash IME_KEY_Armenian_hyphen IME_KEY_Armenian_yentamna IME_KEY_Armenian_ellipsis IME_KEY_Armenian_exclam IME_KEY_Armenian_amanak IME_KEY_Armenian_accent IME_KEY_Armenian_shesht IME_KEY_Armenian_question IME_KEY_Armenian_paruyk IME_KEY_Armenian_AYB IME_KEY_Armenian_ayb IME_KEY_Armenian_BEN IME_KEY_Armenian_ben IME_KEY_Armenian_GIM IME_KEY_Armenian_gim IME_KEY_Armenian_DA IME_KEY_Armenian_da IME_KEY_Armenian_YECH IME_KEY_Armenian_yech IME_KEY_Armenian_ZA IME_KEY_Armenian_za IME_KEY_Armenian_E IME_KEY_Armenian_e IME_KEY_Armenian_AT IME_KEY_Armenian_at IME_KEY_Armenian_TO IME_KEY_Armenian_to IME_KEY_Armenian_ZHE IME_KEY_Armenian_zhe IME_KEY_Armenian_INI IME_KEY_Armenian_ini IME_KEY_Armenian_LYUN IME_KEY_Armenian_lyun 0x14a4 0x14a5 0x14a6 0x14a7 0x14a8 0x14a9 0x14a9 0x14aa 0x14aa 0x14ab 0x14ac 0x14ad 0x14ad 0x14ae 0x14af 0x14af 0x14b0 0x14b0 0x14b1 0x14b1 0x14b2 0x14b3 0x14b4 0x14b5 0x14b6 0x14b7 0x14b8 0x14b9 0x14ba 0x14bb 0x14bc 0x14bd 0x14be 0x14bf 0x14c0 0x14c1 0x14c2 0x14c3 0x14c4 0x14c5 0x14c6 0x14c7 0x14c8 0x14c9 87 IME_KEY_Armenian_KHE IME_KEY_Armenian_khe IME_KEY_Armenian_TSA IME_KEY_Armenian_tsa IME_KEY_Armenian_KEN IME_KEY_Armenian_ken IME_KEY_Armenian_HO IME_KEY_Armenian_ho IME_KEY_Armenian_DZA IME_KEY_Armenian_dza IME_KEY_Armenian_GHAT IME_KEY_Armenian_ghat IME_KEY_Armenian_TCHE IME_KEY_Armenian_tche IME_KEY_Armenian_MEN IME_KEY_Armenian_men IME_KEY_Armenian_HI IME_KEY_Armenian_hi IME_KEY_Armenian_NU IME_KEY_Armenian_nu IME_KEY_Armenian_SHA IME_KEY_Armenian_sha IME_KEY_Armenian_VO IME_KEY_Armenian_vo IME_KEY_Armenian_CHA IME_KEY_Armenian_cha IME_KEY_Armenian_PE IME_KEY_Armenian_pe IME_KEY_Armenian_JE IME_KEY_Armenian_je IME_KEY_Armenian_RA IME_KEY_Armenian_ra IME_KEY_Armenian_SE IME_KEY_Armenian_se IME_KEY_Armenian_VEV IME_KEY_Armenian_vev IME_KEY_Armenian_TYUN IME_KEY_Armenian_tyun IME_KEY_Armenian_RE IME_KEY_Armenian_re IME_KEY_Armenian_TSO IME_KEY_Armenian_tso IME_KEY_Armenian_VYUN IME_KEY_Armenian_vyun 0x14ca 0x14cb 0x14cc 0x14cd 0x14ce 0x14cf 0x14d0 0x14d1 0x14d2 0x14d3 0x14d4 0x14d5 0x14d6 0x14d7 0x14d8 0x14d9 0x14da 0x14db 0x14dc 0x14dd 0x14de 0x14df 0x14e0 0x14e1 0x14e2 0x14e3 0x14e4 0x14e5 0x14e6 0x14e7 0x14e8 0x14e9 0x14ea 0x14eb 0x14ec 0x14ed 0x14ee 0x14ef 0x14f0 0x14f1 0x14f2 0x14f3 0x14f4 0x14f5 88 IME_KEY_Armenian_PYUR IME_KEY_Armenian_pyur IME_KEY_Armenian_KE IME_KEY_Armenian_ke IME_KEY_Armenian_O IME_KEY_Armenian_o IME_KEY_Armenian_FE IME_KEY_Armenian_fe IME_KEY_Armenian_apostrophe IME_KEY_Armenian_section_sign IME_KEY_Georgian_an IME_KEY_Georgian_ban IME_KEY_Georgian_gan IME_KEY_Georgian_don IME_KEY_Georgian_en IME_KEY_Georgian_vin IME_KEY_Georgian_zen IME_KEY_Georgian_tan IME_KEY_Georgian_in IME_KEY_Georgian_kan IME_KEY_Georgian_las IME_KEY_Georgian_man IME_KEY_Georgian_nar IME_KEY_Georgian_on IME_KEY_Georgian_par IME_KEY_Georgian_zhar IME_KEY_Georgian_rae IME_KEY_Georgian_san IME_KEY_Georgian_tar IME_KEY_Georgian_un IME_KEY_Georgian_phar IME_KEY_Georgian_khar IME_KEY_Georgian_ghan IME_KEY_Georgian_qar IME_KEY_Georgian_shin IME_KEY_Georgian_chin IME_KEY_Georgian_can IME_KEY_Georgian_jil IME_KEY_Georgian_cil IME_KEY_Georgian_char IME_KEY_Georgian_xan IME_KEY_Georgian_jhan IME_KEY_Georgian_hae IME_KEY_Georgian_he 0x14f6 0x14f7 0x14f8 0x14f9 0x14fa 0x14fb 0x14fc 0x14fd 0x14fe 0x14ff 0x15d0 0x15d1 0x15d2 0x15d3 0x15d4 0x15d5 0x15d6 0x15d7 0x15d8 0x15d9 0x15da 0x15db 0x15dc 0x15dd 0x15de 0x15df 0x15e0 0x15e1 0x15e2 0x15e3 0x15e4 0x15e5 0x15e6 0x15e7 0x15e8 0x15e9 0x15ea 0x15eb 0x15ec 0x15ed 0x15ee 0x15ef 0x15f0 0x15f1 89 IME_KEY_Georgian_hie IME_KEY_Georgian_we IME_KEY_Georgian_har IME_KEY_Georgian_hoe IME_KEY_Georgian_fi IME_KEY_Ccedillaabovedot IME_KEY_Xabovedot IME_KEY_Qabovedot IME_KEY_Ibreve IME_KEY_IE IME_KEY_UO IME_KEY_Zstroke IME_KEY_Gcaron IME_KEY_Obarred IME_KEY_ccedillaabovedot IME_KEY_xabovedot IME_KEY_Ocaron IME_KEY_qabovedot IME_KEY_ibreve IME_KEY_ie IME_KEY_uo IME_KEY_zstroke IME_KEY_gcaron IME_KEY_ocaron IME_KEY_obarred IME_KEY_SCHWA IME_KEY_schwa IME_KEY_Lbelowdot IME_KEY_Lstrokebelowdot IME_KEY_lbelowdot IME_KEY_lstrokebelowdot IME_KEY_Gtilde IME_KEY_gtilde IME_KEY_Abelowdot IME_KEY_abelowdot IME_KEY_Ahook IME_KEY_ahook IME_KEY_Acircumflexacute IME_KEY_acircumflexacute IME_KEY_Acircumflexgrave IME_KEY_acircumflexgrave IME_KEY_Acircumflexhook IME_KEY_acircumflexhook IME_KEY_Acircumflextilde 0x15f2 0x15f3 0x15f4 0x15f5 0x15f6 0x16a2 0x16a3 0x16a5 0x16a6 0x16a7 0x16a8 0x16a9 0x16aa 0x16af 0x16b2 0x16b3 0x16b4 0x16b5 0x16b6 0x16b7 0x16b8 0x16b9 0x16ba 0x16bd 0x16bf 0x16c6 0x16f6 0x16d1 0x16d2 0x16e1 0x16e2 0x16d3 0x16e3 0x1ea0 0x1ea1 0x1ea2 0x1ea3 0x1ea4 0x1ea5 0x1ea6 0x1ea7 0x1ea8 0x1ea9 0x1eaa 90 IME_KEY_acircumflextilde IME_KEY_Acircumflexbelowdot IME_KEY_acircumflexbelowdot IME_KEY_Abreveacute IME_KEY_abreveacute IME_KEY_Abrevegrave IME_KEY_abrevegrave IME_KEY_Abrevehook IME_KEY_abrevehook IME_KEY_Abrevetilde IME_KEY_abrevetilde IME_KEY_Abrevebelowdot IME_KEY_abrevebelowdot IME_KEY_Ebelowdot IME_KEY_ebelowdot IME_KEY_Ehook IME_KEY_ehook IME_KEY_Etilde IME_KEY_etilde IME_KEY_Ecircumflexacute IME_KEY_ecircumflexacute IME_KEY_Ecircumflexgrave IME_KEY_ecircumflexgrave IME_KEY_Ecircumflexhook IME_KEY_ecircumflexhook IME_KEY_Ecircumflextilde IME_KEY_ecircumflextilde IME_KEY_Ecircumflexbelowdot IME_KEY_ecircumflexbelowdot IME_KEY_Ihook IME_KEY_ihook IME_KEY_Ibelowdot IME_KEY_ibelowdot IME_KEY_Obelowdot IME_KEY_obelowdot IME_KEY_Ohook IME_KEY_ohook IME_KEY_Ocircumflexacute IME_KEY_ocircumflexacute IME_KEY_Ocircumflexgrave IME_KEY_ocircumflexgrave IME_KEY_Ocircumflexhook IME_KEY_ocircumflexhook IME_KEY_Ocircumflextilde 0x1eab 0x1eac 0x1ead 0x1eae 0x1eaf 0x1eb0 0x1eb1 0x1eb2 0x1eb3 0x1eb4 0x1eb5 0x1eb6 0x1eb7 0x1eb8 0x1eb9 0x1eba 0x1ebb 0x1ebc 0x1ebd 0x1ebe 0x1ebf 0x1ec0 0x1ec1 0x1ec2 0x1ec3 0x1ec4 0x1ec5 0x1ec6 0x1ec7 0x1ec8 0x1ec9 0x1eca 0x1ecb 0x1ecc 0x1ecd 0x1ece 0x1ecf 0x1ed0 0x1ed1 0x1ed2 0x1ed3 0x1ed4 0x1ed5 0x1ed6 91 IME_KEY_ocircumflextilde IME_KEY_Ocircumflexbelowdot IME_KEY_ocircumflexbelowdot IME_KEY_Ohornacute IME_KEY_ohornacute IME_KEY_Ohorngrave IME_KEY_ohorngrave IME_KEY_Ohornhook IME_KEY_ohornhook IME_KEY_Ohorntilde IME_KEY_ohorntilde IME_KEY_Ohornbelowdot IME_KEY_ohornbelowdot IME_KEY_Ubelowdot IME_KEY_ubelowdot IME_KEY_Uhook IME_KEY_uhook IME_KEY_Uhornacute IME_KEY_uhornacute IME_KEY_Uhorngrave IME_KEY_uhorngrave IME_KEY_Uhornhook IME_KEY_uhornhook IME_KEY_Uhorntilde IME_KEY_uhorntilde IME_KEY_Uhornbelowdot IME_KEY_uhornbelowdot IME_KEY_Ybelowdot IME_KEY_ybelowdot IME_KEY_Yhook IME_KEY_yhook IME_KEY_Ytilde IME_KEY_ytilde IME_KEY_Ohorn IME_KEY_ohorn IME_KEY_Uhorn IME_KEY_uhorn IME_KEY_combining_tilde IME_KEY_combining_grave IME_KEY_combining_acute IME_KEY_combining_hook IME_KEY_combining_belowdot IME_KEY_EcuSign IME_KEY_ColonSign 0x1ed7 0x1ed8 0x1ed9 0x1eda 0x1edb 0x1edc 0x1edd 0x1ede 0x1edf 0x1ee0 0x1ee1 0x1ee2 0x1ee3 0x1ee4 0x1ee5 0x1ee6 0x1ee7 0x1ee8 0x1ee9 0x1eea 0x1eeb 0x1eec 0x1eed 0x1eee 0x1eef 0x1ef0 0x1ef1 0x1ef4 0x1ef5 0x1ef6 0x1ef7 0x1ef8 0x1ef9 0x1efa 0x1efb 0x1efc 0x1efd 0x1e9f 0x1ef2 0x1ef3 0x1efe 0x1eff 0x20a0 0x20a1 92 IME_KEY_CruzeiroSign IME_KEY_FFrancSign IME_KEY_LiraSign IME_KEY_MillSign IME_KEY_NairaSign IME_KEY_PesetaSign IME_KEY_RupeeSign IME_KEY_WonSign IME_KEY_NewSheqelSign IME_KEY_DongSign IME_KEY_EuroSign 0x20a2 0x20a3 0x20a4 0x20a5 0x20a6 0x20a7 0x20a8 0x20a9 0x20aa 0x20ab 0x20ac 93 , 3.3 字节 byte 数据存储的一个独立能寻址的单位。
const void *buf, 对付 X11 图形情况, IME_ATTR_DECORATION, const char *helper_uuid); (const IME_InputContext *ic。
这 些库实现了大众的成果, 3.6 语境 locale 用户情况的子集界说, 而且可映射任何此地方描述的级别到一个提供相当成果特性的差异级别, 0 措施正运行或处事正常 1 措施已死且 /var/run 下的 pid 文件存在 2 措施已死且 /var/lock 下的锁文件存在 3 措施未运行 4 措施或处事状态未知 5-99 保存为未来的尺度使用 100-149 保存为刊行版使用 150-199 保存为应用措施使用 200-254 保存 对付所有其他的 init 脚本行为。
例如,只有在包括 Description 要害字的行 之后。
输入法处事器介于操纵系统和 输入法之间,可以是仅当 install_initd 运行时, nohup, 返回值: 无 update_screen 更新屏幕 void (*update_screen) (int ic,因为乐成地使 init 脚本失效会需要脚本中的 依赖干系信息, 参数: imm 输入法打点器为输入法引擎模块提供的包括所有回调函数指针的数据布局。
假如不带信号调 用,切合本尺度的实现可使用基于 pidfiles 文件之外的其他 机制, 界说: typedef struct _IMM_Functions { void (*show_preedit_string) (const void (*hide_preedit_string) (const void (*update_preedit_string) (const const void (*update_preedit_caret) (const IME_InputContext *ic); IME_InputContext *ic); IME_InputContext *ic,限制为单行文本, size_t bufsize); (*send_key_event) (int ic const char *ic_uuid,若 amode 参数包括除 R_OK、W_OK、X_OK 和 F_OK 之外的位,不需要支持被 ISO POSIX(2003)中界说的 exec 族函数会见,当讨论存储空间时 用字节,多个语言由逗号离隔,假如所占用的文件描述符被封锁, 5.2.3 输入法引擎帮助模块的界面范例: 切合该范例的输入法引擎帮助模块应提供以下导出函数: IME_Bool ime_helper_register_module (const IMM_Helper_Functions *imm_helper,可以是 IME_FIRST_PAGE 和 IME_LAST_PAGE 的组 合, index, const IME_KeyEvent *key); (const IME_InputContext *ic, *ic_uuid, Should-Start: boot_facility_1 [boot_facility_2...] . 假如存在。
FHS 答允一些部件或子系统是可选的, install_initd 呼吁有单一的一个参数。
预编辑光标位置都将被移动到预编辑字符串尾部,重启动处事 status 打印处事的当前状态 所有 init 脚本都应支持 start、 stop、 restart、 force-reload 和 status 行为;reload 和 try-restart 行为是可选的。
4.4.2 在所有权和权限方面对应用措施的发起 目录写权限 除/tmp、/var/tmp、 ,例如简朴的提示信息等, 实现可界说 ISO POSIX (2003)没有划定的其他语境分类。
该函数调用卖力填充此 数据布局。
/etc:主机系统配置文件 以下内容是文件系统条理范例中没有要求的。
或 通过硬件及时时钟设置。
时 install_initd 呼吁可被看作一种隐藏实现细节的封装, 切合本尺度的应用措施应遵循 FHS。
符 合本尺度的应用措施不该该依赖于这个特征的存在, const char *helper_uuid); (const IME_InputContext *ic。
并做须要的清理事情, 4.1.12 libdl 接口 本条划定动态加载函数接口,多行的描述由不匹配本条件的第一行 终止, FHS 要求操纵系统内核存放在/ 或/boot, 脚本必需已经 init 被安装在/etc/init.d 目录,例如 GB2312,例如 zh_CN,log_failure_msg(), 参数: 无 返回值: 无 run 运行帮助模块 void (*run) (const char *display); 说明: 该函数是帮助模块的入口函数,返回非 0,和 pututxline()函数使用; 本尺度中并没有划定这些文件的格局或布局,它可以是大的数据工具的完整的一部门, install_initd 呼吁只会在 init 脚本被安装之后激活它,其他 init 脚本行为可以由 init 脚本自界说, int x, ‘$’标记开始的设施名是保存的系统设 施名, 假如当处事已在运行时执行 start 行为,用于存储一字符或 字符的一部门, 若措施正在运行,它从一个或多个事件或串序列结构串, 若通报一无效的信号值至 sigaddset()或 sigdelset()。
至少包罗: regexec() 模式匹配记法 进行文件名匹配的实用东西应切合 ISO POSIX (2003)的划定。
输入法打点器通过事先申请的 ic 数据布局向输入法引擎模块传送要建设输入上下文 的输入法独一标识号和输入上下文标号, IME_ATTR_BACKGROUND_RGB } IME_AttributeType; 成员: IME_ATTR_NONE IME_ATTR_DECORATION IME_ATTR_FOREGROUND_RGB IME_ATTR_BACKGROUND_RGB 没有显示属性(正常显示) 尺度修饰属性 自界说前景颜色属性 自界说配景颜色属性 IME_Attribute 字符串显示属性数据布局 界说: typedef struct _IME_Attribute { IME_AttributeType type; int value; int start; int length; } IME_Attribute; 成员: type 显示属性类型 value 显示属性的值 start 该属性在字符串中的起始位置(以字符为单元,不然,详细请看 Installation and Removal of Init Scripts。
单字节字符是多字节字符的非凡环境,用户配置等; 参数: 无 返回值: 无 说明: 输入法引擎模块应在该函数中完成所有的初始化事情。
假如该措施已经被终止,必需在 0 到 输入法个数-1 之间; info 生存输入法信息的数据布局。
对付颜色修饰属性,具体请拜见 IME_InputContext 数据布局的说明, 31 void (*show_aux_string) void (*hide_aux_string) void (*update_aux_string) void (*show_candidates_list) void (*hide_candidates_list) void (*update_candidates_list) void (*set_focused_candidate) void (*commit_string) void (*register_properties) void (*update_property) int caret); (const IME_InputContext *ic); (const IME_InputContext *ic); (const IME_InputContext *ic。
$network 使用本尺度所描述接口的 IP 地点解析可用。
因为这会使安详审核变得 坚苦甚至不行能, *ic_uuid,输入法打点器过调用这些回调函数与输入法引擎帮助模块互换数据,假如在第一行包括一个或 多个数值,勉励按照 本范例告竣协议的各方研究是否可使用这些文件的最新版本, 3.8 当地化 localization 计较机系统中成立专用于具体的国度语言、本地习惯和编码字符集操纵信息的历程,awk)读的文件。
这些设施应与 init 脚本名 使用沟通的命名约定(拜见 4.5.7“脚本名”。
/usr/sbin,而被命名为 pidfile 的文件不存在, 参 见 命 令 与 实 用 程 序 部 分 对 nice 的 描 述 ,对付没有对应输入法引擎的独立帮助模 块, int y); void (*trigger_property) (int ic,由切合本尺度的应用措施提供的 init 脚本应该接收单一的参数,6] ( 0=星期日) 23 6. 用户名 7. 呼吁 [参数 ...] 这个文件应被系统自动处理惩罚,若措施已经遏制或未运行, 需要$local_fs 的很多应用也可能将需要$remote_fs, 表 34 Curses 函数接口 addch addstr attr_set baudrate border chgat clrtoeol curs_set delay_output delwin echo erasechar getbkgd getwin has_il addchnstr attr_get attroff beep box clear color_content def_prog_mode delch derwin echochar filter getch halfdelay hline addchstr attr_off attron bkgd can_change_color clearok color_set def_shell_mode deleteln doupdate endwin flash getnstr has_colors idcok addnstr attr_on attrset bkgdset cbreak clrtobot copywin del_curterm delscreen dupwin erase flushinp getstr has_ic idlok 16 immedok init_color insch insstr is_wintouched killchar move mvaddnstr mvdelch mvgetstr mvinchstr mvinsstr mvvline mvwaddnstr mvwgetch mvwin mvwinnstr mvwinstr napms nl nonl overlay pnoutrefresh putwin refresh restartterm scr_dump scrl set_term slk_attroff slk_color slk_refresh standend subwin tgetent tgoto timeout tputs untouchwin vline vwscanw waddnstr inch init_pair insdelln instr isendwin leaveok mvaddch mvaddstr mvderwin mvhline mvinnstr mvinstr mvwaddch mvwaddstr mvwgetnstr mvwinch mvwinsch mvwprintw newpad nocbreak noqiflush overwrite prefresh qiflush reset_prog_mode ripoffline scr_init scroll setscrreg slk_attron slk_init slk_restore standout syncok tgetflag tigetflag touchline typeahead use_env vw_printw waddch waddstr inchnstr initscr insertln intrflush keyname longname mvaddchnstr mvchgat mvgetch mvinch mvinsch mvprintw mvwaddchnstr mvwchgat mvwgetstr mvwinchnstr mvwinsnstr mvwscanw newterm nodelay noraw pair_content printw raw reset_shell_mode savetty scr_restore scrollok setupterm slk_attrset slk_label slk_set start_color termattrs tgetnum tigetnum touchwin unctrl vidattr vw_scanw waddchnstr wattr_get inchstr innstr insnstr is_linetouched keypad meta mvaddchstr mvcur mvgetnstr mvinchnstr mvinsnstr mvscanw mvwaddchstr mvwdelch mvwhline mvwinchstr mvwinsstr mvwvline newwin noecho notimeout pechochar putp redrawwin resetty scanw scr_set set_curterm slk_attr_set slk_clear slk_noutrefresh slk_touch subpad termname tgetstr tigetstr tparm ungetch vidputs vwprintw waddchstr wattr_off 17 wattr_on wattrset wchgat wcolor_set wechochar wgetstr winchstr winsertln wmove wrefresh wstandend wtimeout wattr_set wbkgd wclear wcursyncup werase whline winnstr winsnstr wnoutrefresh wscanw wstandout wtouchln wattroff wbkgdset wclrtobot wdelch wgetch winch winsch winsstr wprintw wscrl wsyncdown wvline 表 35 Curses 数据接口 wattron wborder wclrtoeol wdeleteln wgetnstr winchnstr winsdelln winstr wredrawln wsetscrreg wsyncup COLORS acs_map COLOR_PAIRS cur_term COLS curscr LINES stdscr 4.2.5 libncurses 的数据界说 本条划定了以下头文件: curses.h term.h 这些头文件的详细内容见 ISO/IEC 23360-1 实用东西库部门, 从 100 至 499 的系统用户 ID 应被保存为系统打点员和安装后脚本使用 useradd 动态分 配,设备文件可以 是一个标记链接, remove_initd 措施应该返 回退出状态 0。
/usr/local/sbin,假如这些文 件不具备适当的权限, $remote_fs 所有长途文件系统是可用的。
termios 字符 START 和 STOP 应是可改观的, 24 1 一般的或未划定的错误 2 无效或过多的参数 3 未实现的特征(例如,它们应发生 EINVAL, 对付 popen(), 5.2.2 输入法引擎模块的界面范例: 切合该范例的输入法引擎模块应提供以下导出函数: IME_Bool ime_register_module (const IMM_Functions *imm,本尺度不试图用数字分派用户 ID 或组 ID,切合本标 准的应用措施不能依赖任何超出本尺度划定的呼吁, nr_candidates 列表中的候选词数量(页巨细) title 候选词列表的标题 candidates 包括所有候选词的数组 宏界说: #define IME_FIRST_PAGE #define IME_LAST_PAGE 1 2 /* 标明该页为第一页 */ /* 标明该页为最后一页 */ IME_Property 输入法属性数据布局 界说: typedef struct _IME_Property { const char *key; const char *label; const char *icon; const char *tip; int state; } IME_Property; 成员: key 该属性的独一键值 label 该属性的显示名字 icon 该属性的图标文件 tip 该属性的扼要辅佐 state 该属性的状态,也没有出格划定所安装在该目录下 的脚本文件必然要具有从此缀, getpwuid()和 getpwuid_r()函数获取, /etc/rc2.d 和 /etc/rc6.d 目录下建设一个以字母“K” 26 开头的“stop”标记连接, 以及本规 范中制定的所有的附加要求, 名为 other 的处事应一直存在, 本范例回收 ISO C(1999) 作为参考的编程语言, 4.4.4 当地化 为了成立一个动静编目,23] 3. 日 [1, 表 33 压缩库函数接口 adler32 crc32 deflateEnd deflateReset gzdopen gzgetc gzputc gzseek inflate inflateReset uncompress compress deflate deflateInit2_ deflateSetDictionary gzeof gzgets gzputs gzsetparams inflateEnd inflateSetDictionary zError compress2 deflateBound deflateInit_ get_crc_table gzerror gzopen gzread gztell inflateInit2_ inflateSync zlibVersion compressBound deflateCopy deflateParams gzclose gzflush gzprintf gzrewind gzwrite inflateInit_ inflateSyncPoint 4.2.2 libz 的数据界说 本条划定了头文件: zlib.h 此头文件的详细内容见 ISO/IEC 23360-1 实用东西库部门,遏制和重启动处事;不然。
块里的所有行的第一列都 应是字符‘#’,这些内置呼吁和实用工 具应由 sh 东西本身提供, ime_helper 包括输入法引擎帮助模块所有回调函数指针的数据布局。
重装入配置;不然,并隐含了特别的系统依赖信息, 具体拜见数据布局 IME_InputMethod 的说明,处事可以淘汰成果,因此可以应用于输入法打点 器支持的任何桌面情况。
软 件包的安装不该该修改/etc/corntab 配置文件,相应的,此处字符( character)不必与存储空间相关, get_input_method_info 取得一个输入法的信息 IME_Bool (*get_input_method_info) (int IME_InputMethod 说明: 取得输入法引擎模块所支持一个特定输入法的信息; 参数: index 输入法的索引号。
应返回 0;不然, 作为守护进程运行指定的措施,也 不料味着该呼吁具有 FHS 划定的表示行为,在 pidfile 文件以及在 pidofproc 函数的输出中,用户 主目录的位置也不由其他计策界说, 其随后所有的修改单(不包罗勘误的内容)或修订版均不合用于本范例,在这种环境下,在指定的时间。
finalize 结束输入法引擎模块 void (*finalize) (void); 说明: 用以在卸载输入法引擎模块之前完成相应的清理事情; 参数: 无 返回值: 无 说明: 输入法打点器在卸载输入法引擎模块之前会调用该函数进行须要的清理,详细 LANANA 资料 请查察 ,但应能被非二进制措施使用,init 脚本系统应确保那些提供 Required-Start 设 施的 init 脚本在启动本脚本之前启动。
见character, 输入法引擎模块无权修改; uuid 输入上下文所使用的输入法的独一标识号,应提供包括有效 id 和 uuid 的输入法上下文数据布局,设为 NULL 暗示不查抄输入法 UUID; string 要提交的字符串; 返回值: 无 forward_key_event 向客户措施转发一个按键事件 void (*forward_key_event) (int ic, Short-Description: short_description 为 init 脚本的行为提供一个简短的描述, 实现应支持 ISO POSIX (2003)中划定的 POSIX 和 C 语境, 4.5.3 init 脚本的注释约定 切合本尺度的应用措施可以安装一个或多个 init 脚本。
从该设备的 一次读操纵应总是返回请求的字节数。
const char *property); 说明: 通知输入法引擎帮助模块, int position); (*select_candidate) (const IME_InputContext *ic, /etc/rc1.d,该数据库供 getutent()。
输入 法引擎按照该标识号来建设输入上下文; charset 输入上下文(即客户端)所支持的字符集。
而且将已被安装的 init 脚本的绝对路径传给该呼吁, const IME_Property *property); (const IME_InputContext *ic, 当一个软件包被卸载后,假如用如由 kill 呼吁划定的-signal_name 或 -signal_number 语规矩定一个信号, 可安装的应用措施 假如应用措施在安装时需要特别的特权, 4.5.5 运行级 以下的运行级被划定用于 4.5.3“init 脚本的注释约定”中界说的 Default-Start 和 Default-Stop 要害字, IME_AttributeType 字符串显示属性类型 界说: typedef enum _IME_AttributeType { IME_ATTR_NONE, 表 37 呼吁和实用东西 [ ar at awk basename batch bc cat dmesg du echo ed egrep env expand expr id install install_initd ipcrm ipcs join kill killall mount msgfmt mv newgrp nice nl nohup od sort split strip stty su sync tail tar 18 chfn chgrp chmod chown chsh cksum cmp col comm cp cpio crontab csplit cut date dd df diff dirname false fgrep file find fold fuser gencat getconf gettext grep groupadd groupdel groupmod groups gunzip gzip head hostname iconv ln locale localedef logger logname lp lpr ls lsb_release m4 mailx make man md5sum mkdir mkfifo mknod mktemp more passwd paste patch pathchk pax pidof pr printf ps pwd remove_initd renice rm rmdir sed sendmail sh shutdown sleep tee test time touch tr true tsort tty umount uname unexpand uniq useradd userdel usermod wc xargs 切合本尺度的实现应提供表 38 中描述的 shell 内置实用东西, 值-5 应视为无效信号值, pathname [args] start_daemon 应返回已界说的退出状态码,nl_item 值-1 应是无效的,4.2.1 中表述的所有函数的详细描述见 ISO/IEC 23360-1 的实用东西库部门。
IME_Helper_Functions *ime_helper。
这个文件与在 ISO POSIX(2003)中界说的 crontab 呼吁所描述的格局一样,因此对付差异的图形界面 情况必需提供差异的帮助模块,应用措施不该依 赖于具体的运行级数字。
来选择以 下行为之一: start 启动处事 stop 遏制处事 restart 假如处事已经运行。
log_warning_msg()等日 志函数打印。
本尺度由全国信息技能尺度化技能委员会归口,卖力初始化并运行帮助模块的主事件循环, /etc/init.d 一个包括系统初始化脚本的目录,该函数由输入法打点器的 filter_event () 函数调用, install_initd 将在/etc/rc3.d,必需调用/usr/lib/lsb/remove_initd 使 init 脚本失效,对这样的退出码。
*string); *ic, killproc 和 pidofproc 函数应该使用如下算法确定具体措施的状态和进程 号。
输入法引擎应销毁所对应的私有数据布局, 所有图形界面相关的成果都由输入法引擎帮助模块来实现,而且 init 脚本不该被激活。
文件的读和执行权限 应用措施不该依赖于对所有文件和目录都拥有读权限,返回非 0,除了 FHS 尺度的发起外,并通知输入法引擎模块,输入法引擎开发者有义务担保该标识号的独一性, 表39 要求的用户名和组名 User Root Bin Daemon Group root bin daemon 注释 拥有适当特权的打点用户 遗留的用户 ID/组 ID 遗留的用户 ID/组 ID 下表描述了可选的用户名和组名表。
*helper_uuid,init 脚本的 reload 行 为应做出响应。
假如有一个特定的任务必需凭据某个差异于预界说的周期被执行, message Log_failure_msg Log_failure_msg 成果应使系统打印一条失败信息, 这些行为是确定的, 4.6.2 用户名和组名 下表描述了要求的用户名和组名, xargs)直接 调用。
代表单个图形标记或控制码, 本条界说了可插入式认证应用编程接口, const char *ic_uuid); 说明: 对该帮助模块进行引用计数(-1)。
包罗根基 库、实用措施库、呼吁和实用措施、执行情况、以及国际化和当地化函数等。
就该当在这个处事启动历程中可用的设施, getutxline(),更新一个已注册帮助模开属性的内容; 参数: property 要更新的属性 返回值: 无 send_ime_event 向输入法引擎发送私有事件 void (*send_ime_event) *property); (int const char const void size_t ic *ic_uuid。
const IME_CandidatesList *candidates); (const IME_InputContext *ic。
一个输入上下文获得了输入核心; 参数: ic 获得输入核心的输入上下文工具; *ic); 40 返回值: 无 focus_out 一个输入上下文失去核心 void (*focus_out) (const IME_InputContext 说明: 通知输入法引擎模块,措施使用所提供的 API 只能读这些数据库,实现可通过使用前缀 X-implementor 来界说当地扩展,以#开始并随着多于一个空格或制表 符的行, *buf。
则该要求不合用, 具体数据布局请拜见后续说明,切合本尺度 的 init 脚本应该不划定“堕落退出”选项(即 set –e) , fcntl()函数应失败,在一些配置中, 假如进程所属的进程组有相关联的控制终端。
输入法打点器通过调用该数据布局中提供的回调函数与输入法引擎模块通讯, 今后设备读应总是返回EOF。
用户记帐数据库 文件系统条理范例中划定两个可选择的位置用于安排用户记帐数据库:/var/run/utmp 和/var/run/wtmp, 激活历程包罗,_ 除非已经用了 -p pidfile 选项, /etc/cron.weekly 一个包括每一周被执行的 shell 脚本的目录,例如中文输入法常用的全角/半角标点 标记状态, 对目录调用 unlink()应失败。
详细请看 4.5.1 节,59] 2. 时 [0, 这些界说凭据相应的系统头 文件分组组织,但是帮助模块与打点器之间的应用措施编程界面与图形界 面无关。
getutxid(), 该实用东西用于将动静编目编译成方针系统上的二进制格局, 应用措施安装在这些目录中的各文件的命名应遵循本尺度命名范例 (拜见 4.4.1.2.1 “文 件命名范例”,4.1.7 中表述的所有函数的详细描述见 ISO/IEC 23360-1 的根基库部门, /dev/null /dev/zero /dev/tty 一个无限的数据源和数据接收设备, 本条至少影响以下实用东西: grep (包罗 egrep) sed awk 本条也影响到根基库中的接口行为,它便是或大于一个八位位组,用于将输入法引擎模块注册到输入法打点器中。
以指定的用户名运行指定的呼吁,实现应提供以下设施名: 所有当地文件系统已被加载。
*info); create_input_context 建设一个输入上下文工具 IME_Bool (*create_input_context) (IME_InputContext *ic); 说明: 建设一个输入上下文工具; 参数: ic 生存输入上下文相关数据的数据布局; 返回值: IME_TRUE 建设乐成; IME_FALSE 建设失败; 说明: 一个输入上下文对应客户措施的一个输入域。
*ic,而切合本尺度的实现应该提供如下的目 录或目录标记连接: /etc/cron.d 一个包括扩展 crontab 文件的目录;详细请看 4.5.1 节。
const IME_KeyEvent *key); (*commit_string) (int ic, 下面是要害字和相应参数的界说: Provides: boot_facility_1 [boot_facility_2...] 由这个 init 脚本提供的启动设施,输入法引擎按照 uuid 信 息建设相应的私有数据布局, const void *buf, 表 31 加密函数接口 crypt encrypt setkey timer_delete timer_getoverrun timer_gettime clock_getres clock_gettime clock_nanosleep shm_unlink 4.1.17 libpam 接口 可插入式认证模块(PAM)接口答允应用措施凭据系统打点员预先界说的机制(即服 务),预编辑字符串将被直接显示在客户端输入光标处, show_preedit_string 显示预编辑字符串 void (*show_preedit_string) (const IME_InputContext *ic); 说明: 通知输入法打点器显示预编辑字符串区域; 参数: ic 当前输入上下文; 返回值: 无 说明: 预编辑字符串区域的显示方法与客户措施所使用的输入气势派头有关,应用措施应可以通过 S_ISVTXT 位对目录写权限进行制约,使 用回调函数进行通讯。
那么这个软件包应 该安装一个/etc/cron.d/cron-name 文件,插手了输入法接口。
并提供 一构成果强大的 API, *string); 说明: 向客户措施直接提交一个字符串; 参数: ic 由输入法打点器提供的当前输入上下文暗示号; ic_uuid 要接收数据的输入法的独一标识号, bufsize); (const IME_InputContext *ic); IME_Functions 输入法引擎模块应提供的回调函数,应在 LANANA(the Linux Assigned Names and Numbers Authority)保存这些名称。
*ic_uuid); } IME_Helper_Functions; 说明: 该数据布局包括所有输入法引擎帮助模块应提供应输入法打点器使用的回调函数指 针, 当 sh 东西被看成一个交互式登录 shell 被调用, 切合本尺度的实现不需要提供这些确切的运行级大概给它们一个如下所描述的寄义, 也不该由那些执行其他实用东西的尺度实用东西(env, install_initd 所 做 的 变 化 必 须 通 过 调 用 remove_initd 取消,它的位数是实现相关的,在基于ISO/IEC 9945-2:1993尺度的系统中,以下环境也被认为是乐成的: 以参数 force-reload 重启动(而非重装入)处事 对已经运行的处事运行 start 对已遏制或未运行的处事运行 stop 对已遏制或未运行的处事运行 restart 对已遏制或未运行的处事运行 try-restart 在处理惩罚除了 status 外的任何 init 行为而堕落的环境下。
实现也可以有选择地使用非指定的要领来定位所需的进程号, IME_KeyEvent 键盘事件数据布局 界说: typedef struct _IME_KeyEvent { int code; int unicode; int mask; } IME_KeyEvent; 成员: code 键盘编码 49 unicode 字符对应的 UCS-4 编码暗示。
本尺度主要起草人:周明德、高林、张东、谢谦、李祥凯、苏哲、王自强、郑忠源、郭峰、苏建 中、向剑岭、张海峰、董清富、黄建中、刘俊贤、霍东灵、邵宇、朱兴雄、杨少鹏, getutent_r(),此术语相应于ISO C尺度术语 multibyte character (多字节字符)。
输入法引擎卖力建设相应的内部数据布局并进行 初始化事情。
如在 ISO POSIX (2003)的General Terminal Interface 节中所描述的可选行为一样, filter_event 处理惩罚事件数据 void (*filter_event) 说明: 处理惩罚由输入法打点器发来的事件数据; 参数: 无 返回值: 无 (void); 43 说明: 该函数卖力解析输入法打点器发来的事件数据,例如:假如一个 DNS 查询守护进程 $named 提供该设施, 切合本尺度的实现应支持在 ISO POSIX (2003)中界说的以下选项: _POSIX_FSYNC _POSIX_MAPPED_FILES _POSIX_MEMLOCK _POSIX_MEMLOCK_RANGE _POSIX_MEMORY_PROTECTION _POSIX_PRIORITY_SCHEDULING _POSIX_REALTIME_SIGNALS _POSIX_THREAD_ATTR_STACKADDR _POSIX_THREAD_ATTR_STACKSIZE _POSIX_THREAD_PROCESS_SHARED _POSIX_THREAD_SAFE_FUNCTIONS _POSIX_THREADS opendir()函数应如 open()函数一样占用一个文件描述符, 表 32 可插入式认证应用编程接口 pam_acct_mgmt pam_end pam_open_session pam_strerror 4.1.18 libpam 的数据界说 本条划定了头文件: security/pam_appl.h 它的具体内容见 ISO/IEC 23360-1 的根基库部门, 其他(非系统)设施可由其他切合本尺度的应用措施界说。
应返回 0;不然, 在安装器的安装后续处理惩罚阶段,值a 应是一无效的 mode 参数, 没有对应的 输入法引擎 */ #define IME_HELPER_AUTO_START 2 /* 标明该模块将被自动运行 */ #define IME_HELPER_AUTO_RESTART 4 /* 标明在该模块意外退出后, 函数应认为守护进程没有运行,以解决 Linux 操纵 系统下应用措施的兼容性及可移植性问题, *property); 说明: 通知输入法引擎模块, 返回 0; 不然,那么就指定Default-Start: 3 4 5 和 Default-Stop: 0 1 2 6。
默认环境下, 别离按 每小时、每日、每周或每月的周期, *buf, const char *string); (*forward_key_event) (int ic, 以下目录或链接不必存在:/etc/X11、/usr/bin/X11、/usr/lib/X11、/proc,字节的这种界说是存心脱离在某些国际尺度中字节的使用,安装可能会失败。
需要使用这些系统打点东西的应用措施应该添加这些目录到他们本身的 PATH 情况变量中, 当引入/lib/lsb/init-functions 文件。
或两者皆可,该文件应界说下表中的 shell 脚本呼吁,刊行版有责任担保所有系统呼吁拥有所需权限并能正常 事情,且应筹备应 对受限的情况。
readdir() 函数应失败,由 LANANA 分派的 LSB 提供者的名字仅由 ASCII 字符[a-z0-9]构成,这样 shell 就会将它们解释为注释行,输入法引擎帮助模块过调用这些回调函数与输入法打点器互换数据。
IME)、输入法引擎帮助模块(IME Helper)、输入法打点器(Input Method Manager。
可以使用以下宏来结构息争析属性值: #define IME_RGB_COLOR(RED,甚至于不能被八位除(例如 一36-位字, 表22 数学计较函数接口 __finite __fpclassifyf acosf acosl asinhf atan2 atanh cabs cacosf cacosl casin casinhl catanh cbrt ccosf ccosl cexp cimagf clog10f conj copysignf cosh cpow cprojf creall csinhf csqrtf ctanh dremf erfcf exp expl fabs fdimf fegetexceptflag __finitef __signbit acosh asin asinhl atan2f atanhf cabsf cacosh carg casinf casinl catanhf cbrtf ccosh ceil cexpf cimagl clog10l conjf copysignl coshf cpowf cprojl csin csinhl csqrtl ctanhf dreml erfcl exp2 expm1 fabsf fdiml fegetround __finitel __signbitf acoshf asinf asinl atan2l atanhl cabsl cacoshf cargf casinh catan catanhl cbrtl ccoshf ceilf cexpl clog clogf conjl cos coshl cpowl creal csinf csinl ctan ctanhl erf erff exp2f expm1f fabsl feclearexcept feholdexcept __fpclassify acos acoshl asinh atan atanf atanl cacos cacoshl cargl casinhf catanf catanl ccos ccoshl ceill cimag clog10 clogl copysign cosf cosl cproj crealf csinh csqrt ctanf ctanl erfc erfl expf expm1l fdim fegetenv feraiseexcept 11 fesetenv feupdateenv floor fmaf fmaxl fmod frexpf gammal ilogb j0f j1l ldexp lgamma_r lgammal_r llround log10 log1pf log2l logf lrintl matherr nan nearbyintf nextafterl pow powf remainderl rint roundf scalbl scalbn significandf sincosf sinhf sqrtf tanh tgamma truncf y0l yn fesetexceptflag finite floorf fmal fmin fmodf frexpl hypot ilogbf j0l jn ldexpf lgammaf llrint llroundf log10f log1pl logb logl lround modf nanf nearbyintl nexttoward pow10 powl remquo rintf roundl scalbln scalbnf significandl sincosl sinhl sqrtl tanhf tgammaf truncl y1 ynf fesetround finitef floorl fmax fminf fmodl gamma hypotf ilogbl j1 jnf ldexpl lgammaf_r llrintf llroundl log10l log2 logbf lrint lroundf modff nanl nextafter nexttowardf pow10f remainder remquof rintl scalb scalblnf scalbnl sin sinf sinl tan tanhl tgammal y0 y1f ynl fetestexcept finitel fma fmaxf fminl frexp gammaf hypotl j0 j1f jnl lgamma lgammal llrintl log log1p log2f logbl lrintf lroundl modfl nearbyint nextafterf nexttowardl pow10l remainderf remquol round scalbf scalblnl significand sincos sinh sqrt tanf tanl trunc y0f y1l 表23 数学计较数据接口 12 signgam 4.1.5 Libm 的数据界说 它划定了以下头文件: complex.h fenv.h math.h 此头文件的具体内容见 ISO/IEC 23360-1 的根基库部门,由 cron 执行的环境) ,这些用 C 语言描述的数据工具并不排除被其 他编程语言所使用,同时 init 脚本保持被激活状态, 如同配置已经乐成重装入, int y); 说明: 通知帮助模块改变当前输入核心的屏幕坐标; 参数: ic 当前输入上下文的标识号 ic_uuid 当前输入上下文所使用的输入法独一标识号 x,在那儿字节用作八 位位组(始终为八位)的同义字,这些名称必需选自字符集[a-z0-9]. 为了制止斗嘴,而且设置 errno 为 EDEADLK, getpwnam_r(), 调用将失败并将 errno 设置为 EINVAL, 文件系统譬如/usr 也许是长途的, /etc/rc4.d 和 /etc/rc5.d 目录中建设一个以字母 “S” 开头的 “start” 标记连接,具体实 现系统仅需要在本尺度所指定的无效信号值方面进行加强。
12] 5. 星期 [0, 4.1.3 libc 的接口界说 本尺度没有对 libc 的接口进行扩充,切合本尺度的应用措施不宜依赖于这样的机制。
参数: display 该 Helper 要运行于这个显示器上, const void *buf,应在文档中描述该要求, 文件写权限 应用措施不该依赖于对任何不是由它本身建设的文件拥有写权限, bufsize); 说明: 向相应的输入法引擎发送事件; 参数: ic 由输入法打点器提供的当前输入上下文标识号; ic_uuid 要接收数据的输入法的独一标识号; buf 生存事件数据的缓冲区 bufsize 缓冲区巨细 send_key_event 向输入法引擎发送键盘事件 void (*send_key_event) (int const char const IME_KeyEvent ic *ic_uuid,例如生存用 38 户数据等,同时 为了尽可能减轻输入法开发的难度, 脚本系统应该制止在本 init 脚本遏制前遏制 init 25 那些提供 Required-Stop 设施的 init 脚本,这 一步必需在 init 脚本自身被删除之前进行, ISO/IEC 9945-2:2003 Information technology – Portable Operating System Interface(POSIX) – Part 2:System Interfaces ISO/IEC 23360-1 Linux Standard Base (LSB) core specification 3.1 -- Part 1: Generic specification ISO/IEC 9899:1999 Information technology - Programming Language C 3 术语和界说 下列术语和界说适合本范例,对付其它输入气势派头,4.1.4 中表述的所有函数的详细描述见 ISO/IEC 23360-1 的根基库部门。
mode 值-1 应视为无效。
输入法引擎模块不处理惩罚任何与图形用户界面相关的成果, 3.2 字符 character 一个或多个字节序列,因此,仅当措施正在运行时,这些尺度被本尺度所引用, 4.1.4 libm 接口 libm 库中划定了数学计较的接口,/etc/cron.d/*,以及调用该应用的用户的主目录以外, 27 系统日志是可操纵的。
表 38 内置实用东西 cd getopts read umask wait 本尺度没有对呼吁和实用东西进行扩充,差异的输入域(输入上下文)可以使用 差异的输入法或有差异的输入状态,start_daemon 成果应使 用上面给定的算法查抄措施是否已运行, 它的 pidfile 应被删除。
例如调入码表、词库数据, 相等类表达式(=a=)和多字符理序元素表达式(.ch.)是可选的。
作为 install_initd 呼吁的提示, link()函数将不该跨文件系统事情,y 新的输入核心坐标 返回值: 无 trigger_property 触发一个已注册的属性 void (*trigger_property) (int ic, 对付 access() 函数,也可能存在附加 的处事名称。
对付 OnTheSpot 输 入气势派头, /etc/profile.d 一个包括 shell 脚本的目录,必需在文档中清楚说明,然而,用于将输入法引擎帮助模块注册到输入法打点器中。
链接到/dev目录或其子目录中的设备文件, 对付 sysconf(),而应用措施不使用,可以是以下三种类型的任意组合: 帮助模块的选项: #define IME_HELPER_STAND_ALONE 1 /* 标明该模块为独立帮助模块,才气调用乐成。
通常不注日期的引用文件,本标 准不试图用数字分派用户或组的 ID, IMM_Helper_Functions 输入法打点器应提供应输入法引擎帮助模块使用的回调函数 42 界说: typedef struct _IMM_Helper_Functions { int void void void void (*get_connection_number) (void); (*filter_event) (void); (*register_properties) (const IME_PropertiesList *properties); (*update_property) (const IME_Property *property); (*send_ime_event) (int ic const char *ic_uuid,以 _ 开始的名字被保存给刊行版使用. 这些名字应仅被重要的系统 包使用, start_daemon。
基于初始化脚本提供的依赖干系(拜见 4.5.3 “init 脚本的注释约定”, *string); 说明: 通知输入法打点器向客户措施提交一个字符串; 参数: ic 当前输入上下文; string 要提交的字符串; 返回值: 无 register_properties 注册输入法属性列表 void (*register_properties) (const IME_InputContext *ic, ) 4.5.8 Init 脚本成果 每个切合本尺度的 init 脚本应在当前的情况中执行 /lib/lsb/init-functions 文件中的呼吁 (拜见 shell 非凡内置呼吁“.”),这些用户名和组名被刊行版使 用, 系统打点实用东西存放路径 系统打点实用东西(和其它特权呼吁)可被存放在以下路径:/sbin,由 Provides 要害字指定的启动设施被视为不再存 在, len); ic,可以用于输入上下文的私有数 据与输入上下文布局的关联; 说明: 输入法打点器在调用输入法引擎的 create_input_context()函数建设输入上下文的 时候,被安装东西或 init 脚本系统用来确保 init 脚本凭据正确的顺序运 行,install_initd 呼吁将返回退出状态 0;如 果不切合 init 脚本里界说的依赖干系(拜见 4.5.3 “init 脚本的注释约定”。
int x,本尺度使用“适当特权”来 标识必需赋予某些特定附加特权才气完成的操纵。
Help 简朴的辅佐 copyright 版权信息 version 版本信息 说明: uuid 是输入法唯一无二的标识号。
表 36 实用东西函数库函数接口 forkpty logwtmp login openpty login_tty logout 4.2.7 libutil 的接口界说 本尺度没有对 libutil 的接口进行扩充。
size_t bufsize); (*focus_in) (const IME_InputContext *ic); (*focus_out) (const IME_InputContext *ic); (*reset) (const IME_InputContext *ic); (*move_preedit_caret) (const IME_InputContext *ic, 29 4.6.3 用户 ID 范畴 从 0 到 99 的系统用户 ID 应由系统静态分派,init 脚 本应担保公道的响应, 4.1.10 libgcc_s 接口 本条划定了 Unwind 库的接口,这类脚本的文件名按hier1-hier2-...-名称命名,值-1 应是无效的_CS_..., II 中文 Linux 应用编程界面(API)范例 1 范畴 本范例划定了中文LINUX操纵系统为应用措施提供的须要接口和运行情况, 表 27 动态加载函数接口 dladdr dlsym 4.1.13 libdl 的数据界说 本条界说了头文件: dlfcn.h dlclose dlerror dlopen 14 关于此头文件的详细内容见 ISO/IEC 23360-1 的根基库部门, IME_Functions *ime); 说明: 30 该函数由输入法打点器调用。
则此信号被送至 该措施, /dev:设备文件 /dev目录下应存在以下设备文件。
多进程守护进程的 pid 应使用空格离开,reload) 4 用户未有充实的特权 5 措施未安装 6 措施未配置 7 措施未运行 8-99 保存为未来的尺度使用 100-149 保存为刊行版使用 150-199 保存为应用措施使用 200-254 保存 错误和状态动静应使用 log_success_msg(), 文件命名范例: 安装到上述/etc 下的切合本尺度的实现和应用措施仅可以使用来自下列被打点的用户 命名空间的文件名: 指定名称, 即被安装 init 脚本的绝对路径,实现 ISO POSIX (2003)中 XSI 选项描述的受限的删除模式。
37 void void void void void void void void void const char *helper_uuid,由输入法打点器指定,一个汉字为一个字符) length 该属性所影响的字符串长度(以字符为单元, 4.1.19 libpam 的接口界说 本尺度没有对 libpam 的接口进行扩充, 界说: typedef struct _IME_Functions { void (*initialize) void (*finalize) int (*get_number_of_input_methods) IME_Bool (*get_input_method_info) IME_Bool (*create_input_context) void (*destroy_input_context) IME_Bool (*process_key_event) void (*process_helper_event) (void ); (void ); (void); (int index,不然, show_aux_string 显示帮助信息字符串 void (*show_aux_string) (const IME_InputContext *ic); 说明: 通知输入法打点器显示帮助信息字符串区域; 参数: ic 当前输入上下文; 返回值: 33 无 说明: 帮助信息字符串区域用于显示一行帮助信息,本尺度没有对 Unwind 库界说外部函数接口,www.mydraw.cn,例如: /usr/lib/lsb/install_initd /etc/init.d/example.com-coffeed 假如 init 脚本激活乐成大概已经被激活, 而不会将它 复制到那里, -n 选项划定 nice nicelevel] [-p pidfile] 级 ,改观这 些数据库宜用所提供的呼吁。
它包括四个9-位字节),那么他们宜放在发起的相应的组中。
例如: ### BEGIN INIT INFO # Provides: lsb-ourdb # Required-Start: $local_fs $network $remote_fs # Required-Stop: $local_fs $network $remote_fs # Default-Start: 2 3 4 5 # Default-Stop: 0 1 6 # Short-Description: start and stop OurDB # Description: OurDB is a very fast and reliable database # engine used for illustrating init scripts ### END INIT INFO 在本章节描述的注释约定要求仅针对切合本尺度的应用措施安装的 init 脚本。
不像 在ISO C尺度中的使用, 宏界说: #define IME_PROPERTY_ACTIVE 1 #define IME_PROPERTY_VISIBLE 2 /* 该属性可以被触发 */ /* 该属性可见 */ IME_PropertiesList 属性列表数据布局 界说: typedef struct _IME_PropertiesList { 52 int nr_properties; IME_Property *properties; } IME_PropertiesList; 成员: nr_properties properties 属性个数 包括所有属性的数组 IME_Helper_Info 输入法引擎帮助模块信息数据布局 界说: typedef struct _IME_Helper_Info { const char *uuid; const char *encoding; const char *name; const char *description; const char *icon; int options; } IME_Helper_Info; 成员: uuid 帮助模块的独一标识号 encoding 帮助模块使用的文字编码 name 帮助模块的名称 description 帮助模块的描述 icon 帮助模块的图标文件 options 帮助模块的选项, 对付 nl_langinfo , Required-Start: boot_facility_1 [boot_facility_2...] 在这个处事启动期间必需可用的设施,应查抄该部 件是否存在,而且在/etc/rc0.d,尺度的实用措施应能在“getconf PATH”呼吁(大概用 “command -p getconf PATH”呼吁来担保调用正确版本的“getconf”呼吁)返回的路径中找 到,本尺度没有划定信息提取的机缘, 其最新版本合用于本范例,例如: /usr/lib/lsb/remove_initd /etc/init.d/example.com-coffeed 假如乐成使 init 脚本失效或 init 脚本之前就没有被激活。
包括输入法引擎模块(Input Method Engine。
详细请看 4.5.1 节,4.1.1 中表述的所有函数的详细描述见 ISO/IEC 23360-1 的根基库部门。
4.1.17 中表述的所有函数的详细描述见 ISO/IEC 23360-1 的根基库部门, 39 destroy_input_context 销毁一个输入上下文工具 void (*destroy_input_context) (IME_InputContext *ic); 说明: 销毁一个输入上下文工具; 参数: ic 要销毁的输入上下文工具; 返回值: 无 说明: 输入法引擎要释放与该输入上下文相关的私有数据。
4.4 执行情况 4.4.1 文件系统条理布局 切合本尺度的实现应提供 FHS 所划定的文件系统条理布局的强制要求部门, int index); (const IME_InputContext *ic。
4.3 呼吁和实用东西 本条界说了切合本尺度的实现应提供的呼吁和实用东西。
可以占多行。
/etc/cron.monthly 一个包括每一月被执行的 shell 脚本的目录,应用措施在使用某可选部件之前, 假如“cmd”参数值是 F_SETLKW,4.2.6 中表述的所有函数的详细描述见 ISO/IEC 23360-1 的实用东西库部门, const void *buf。
由输入法引擎使用,详细请看 4.5.1 节,假如该行为执行乐成, const char *ic_uuid); 说明: 对该帮助模块进行引用计数(+1)。
*string); (const IME_InputContext *ic); 说明: 通知输入法打点器显式候选词列表区域; 参数: ic 当前输入上下文; 返回值: 无 hide_candidates_list 隐藏候选词列表 void (*hide_candidates_list) (const IME_InputContext *ic); 说明: 通知输入法打点器隐藏候选词列表区域; 参数: ic 当前输入上下文; 34 返回值: 无 update_candidates_list 更新候选词列表 void (*update_candidates_list) (const IME_InputContext *ic, 对付这些目录。
本尺度没有划定的呼吁纵然存在。
killproc 应返回已界说的退出状态码,例如文件格局和设备名称。
或带有-l 参数 执行时,该帮助模块已经初始化成 功并开始运行,可能有一个或多个Hier-n部门. hier1 既可以是一个 LANANA 分派的 LSB 提供者名称, *property); ic, 5.2.4 回调函数数据布局说明 IMM_Functions 输入法打点器应提供的回调函数。
用户触发了一个已注册的输入法属性, 4.2.4 libncurses 接口 本条划定了 Curses 接口, 对付 pathconf(),从 0 开始; 说明: 每次更新预编辑字符串后,数据界说凭据 ISO C (1999)格局进 行划定,该函数调用卖力填充此数据 布局,另外, 本尺度由中华人民共和国信息财富部提出, 写至此设备的所有数据应被废弃,而不做任何行动, 本范例合用于Linux应用措施开发者和Linux系统实现者,大概操作 id 与输入上下文成立关联。
4.1.12 中表述的所有函数的详细描述见 ISO/IEC 23360-1 的根基库部门,设为 NULL 暗示不查抄输入法 UUID; key 要转发的按键事件; 返回值: 无 IME_Helper_Functions 输入法引擎帮助模块应提供的回调函数 界说: typedef struct _IME_Helper_Functions { void (*finalize) (void); void (*run) (const char *display); void (*update_screen) (int ic,该措施用上面给定的算 法查找。
当一个措施 遏制时,因此不需要划定实现如何布置并当令调用 init 脚 本,4 和 5 级运行。
除非给定-f 选项,也可以是拥有者小写的 DNS 名。
其他的语境也可支持, 由输入法打点器统一分派,对付有对应输入法引擎的帮助模块,在该周期中某个未指定的时间执行。
并通过调用输入法引擎帮助模块提供 的相应回调函数来进行处理惩罚, 4.4.3 附加行为 需强制的可选行为 21 本节指定了一些其他尺度中的可选行为。
从块中提取的信息, 表40 可选的用户名与组名 用户 adm lp sync shutdown halt mail news uucp operator man nobody 组 adm lp sync shutdown halt mail news uucp root man nobody 说明 打点特权 打印打点特权 登录以同步系统 登录以封锁系统 登录以遏制系统 Mail 特权 News 特权 UUCP 特权 操纵者特权 Man 特权 NFS 使用 只有“用户名”和相应“用户组”的最小事情集是必需的,假如操纵系统内核不是作为文件系统的一个 文件存在,也可能呈现 EMFILE 或 ENFILE 类型的失败。
应用措施应仍能以公道的方法运行,用户可以通过点击相应属性按钮来通知输入法引擎改变输入法状态,在过了几秒钟以后应发送 SIGTERM 信号, const char *string); (const IME_InputContext *ic, 3.1 Shell 脚本 shell script 由解释措施(例如。
如 4.5.3“init 脚本的注释约定”中所 界说,将目录作为第一个变量调用 link()时应失败。
本尺度主要起草单元:中软网络技能股份有限公司、信息财富部电子家产尺度化研究所、中国科 学院软件研究所、北京中科红旗软件技能有限公司、新华科技(南京)系统有限公司、北京络威尔软件 有限公司、太阳计较机系统(中国)有限公司、北京即时俊业软件有限公司、红帽软件(北京)有限 公司、信息财富部软件与集成电路促进中心、北京共创开源软件有限公司,例如 mailboxes,个中, const char *ic_uuid,这些约定仅用于为读者提供方便, const IME_String *string); (const IME_InputContext *ic); (const IME_InputContext *ic); (const IME_InputContext *ic,用户选择了一个候选词; 参数: ic 当前输入上下文 index 被选择的候选词的索引号 返回值: 无 previous_candidates_page 候选词列表向前翻页 41 void (*previous_candidates_page) (const IME_InputContext 说明: 通知输入法引擎, 应用措施不能假定用户可能拥有的默认文件建设掩码(umask)或默认目录权限, 对付 confstr(),只要按 此接口尺度开发的中文输入要领就可以很方便地与切合本尺度的 Linux 实现连接,脚本名字应遵循 cron jobs 所指定的 沟通约定,并在当 前执行情况中执行,/var/run/basename.pid 应该能以相似的方法读取,这样输入法引擎在向后翻页的时候就该当凭据新的页尺寸进行 翻页; 参数: ic 当前输入上下文 size 新的候选词列表页尺寸 返回值: 无 trigger_property 触发一个输入法属性 void (*trigger_property) (const IME_InputContext const char *ic,以支持应用程 序源码级的可移植性,31] 4. 月 [1,www.mydraw.cn,而且应通过 getpwnam(),输入法管 32 理器应提供独立的预编辑字符串显示区域。
将被自动从头 运行 */ 说明: 假如设置了自动运行选项, 它应安排一个可执行的 cron 脚本文 件到以下目录之一: /etc/cron.hourly /etc/cron.daily /etc/cron.weekly /etc/cron.monthly 正如目录名所示。
4.2.3 libz 的接口界说 本尺度没有对 libz 的接口进行扩充。
输入法概略上包罗两个部门:编码转换算法以及界面, 例如 debian.org , 提取的信息包罗运行级(在 4.5.5 “运行级” 中界说)和启动设施(在 4.5.6 “设施名”中界说),假如目录/var/opt/package(个中 package 是应用措施包名)在安装期间被建设 并被赋予适当的权限。
/dev/tty是该控制终端的同 义词。
该处事的行为应由系统打点员确定,输入 法引擎模块通过调用这些回调函数与输入法打点器互换数据,0 暗示中间页,在此处使用 C 语言仅仅是为了方便,设施名通过 Provides 要害字被指定给脚本,而且被命名为 pidfile 的文件存在,请拜见附录, 应用措施可以使 用 bindtextdomain()来指定这个位置, 注意, 5.1 体系布局 本输入法编程界面回收动态可加载模块的形式来实现,即假如设施不行用。
等值类表达式(=a=)和多字符理序元素表达式([.ch.])是可选的,输入法引擎可以将私有数据布局指针直接生存在 private_data 中, process_key_event 处理惩罚一个键盘事件 IME_Bool (*process_key_event) (const IME_InputContext const IME_KeyEvent *ic。
而且每个字节都被初始化为\0,应用措施不该依赖其它目 录的写权限, update_property 更新一个输入法属性的内容 void (*update_property) (const IME_InputContext const IME_Property 说明: 通知输入法打点器更新一个输入法属性的内容; 参数: ic 当前输入上下文; property 要更新的输入法属性; 返回值: 无 *ic, const char *ic_uuid,输入法打点器通过调用该数据布局中提供 的 回调函数与输入法引擎帮助模块通讯,用户请求向前翻页候选词列表; 参数: ic 当前输入上下文 返回值: 无 next_candidates_page 候选词列表向后翻页 void (*next_candidates_page) (const IME_InputContext 说明: 通知输入法引擎,应用措施不该依赖于以特权用户身份运行, 2 范例性引用文件 下列文件中的条款通过本范例的引用而成为本范例的条款, ) 4.5.2 4.5.2 init 脚本行为 需要在改变系统的运行级(包罗启动和关机)时执行呼吁的应用措施可以安装一个或 多个 init 脚本,一个输入上下文失去了输入核心; 参数: ic 失去输入核心的输入上下文工具; 返回值: 无 reset 复位一个输入上下文工具 void (*reset) (const IME_InputContext 说明: 复位一个输入上下文工具, 在这些目录中的文件应在 crontab 文件中对应条目的控制下,这个要害字用于那些弱的依赖 干系,init 脚本应打印错误动静 并返回如下之一的非 0 退出状态码, 4.5.7 脚本名 鉴于 init 脚本存放在同一目录中,安装历程应以 msgfmt 实用东西可读格局提供一个动静编目,而不实际遏制和重启动处事 force-reload 假如处事支持,应用措施不能假定非系统 用户名或组名会被界说, 假如处事自动重装入它的配置(例始,它应删除本身的 pidfile。
find。
3.4 字符集 character set 差异字符的一有限集,暗示函数调用是否乐成,但毫不是本尺度被实 现的独一方法。
只有正在运行的进程的 pid 应被 $syslog $time 28 返回, 15 pam_authenticate pam_fail_delay pam_set_item pam_chauthtok pam_get_item pam_setcred pam_close_session pam_getenvlist pam_start 4.2 实用东西库 切合本尺度的实现也应支持下列实用东西库, const IME_KeyEvent *key); void void void } IMM_Helper_Functions; 说明: 该数据布局包括所有输入法打点器应提供应输入法引擎帮助模块使用的回调函数指 针,在多行描述里, 假如-p pidfile 选项被指定。
const char *screen); 说明: 通知帮助模块改变当前输入上下文地址的屏幕; 参数: ic 当前输入上下文的标识号 46 ic_uuid 当前输入上下文所使用的输入法独一标识号 screen 新的屏幕名称 返回值: 无 update_spot_location 更新当前输入核心的屏幕坐标 void (*update_spot_location) (int ic。
UTF-8 输入法的名称 48 icon 输入法的图标文件 languages 输入法所支持的语言,BLUE) ((int)(((RED)16) + ((GREEN)8) + (BLUE))) #define IME_RGB_COLOR_RED(COLOR) ((int)(COLOR16)) #define IME_RGB_COLOR_GREEN(COLOR) ((int)((COLOR8)0x00ff)) #define IME_RGB_COLOR_BLUE(COLOR) ((int)(COLOR0x0000ff)) 依次别离为: IME_RGB_COLOR IME_RGB_COLOR_RED IME_RGB_COLOR_GREEN IME_RGB_COLOR_BLUE 通过红绿蓝三原色结构显示属性值 从显示属性值中得到赤色数值 从显示属性值中得到绿色数值 从显示属性值中得到蓝色数值 IME_String 带显示属性的字符串数据布局 界说: typedef struct _IME_String { const char *string; int nr_attributes; IME_Attribute *attributes; } IME_String; 成员: string 字符串内容, const IME_PropertiesList *properties); 说明: 35 向输入法打点器注册输入法属性; 参数: ic 当前输入上下文; properties 属性列表; 返回值: 无 说明: 输入法属性可以用于显示输入法状态、成果按钮大概菜单, IME_Helper_Info *helper_info); 说明: 该函数由输入法打点器调用,这些值应被使用。
45 void (*process_ime_event) void void (*attach_input_context) (*detach_input_context) const char const char (int const char const void size_t (int const char (int const char *ic_uuid,假如应用措施要求某些不 直接属于该软件包的文件和目录具有特定的所有权, const char *ic_uuid,这些 行应为如下格局: # {keyword}: arg1 [arg2...] 在‘# 和 keyword 之间精确地要求有一个空格符, 显示器名称格局符 合 X11 范例,也不会导致处事失败,详细请看 4.5.1 节,值-1 应是一无效_SC_... 值, caret); 说明: 通知输入法打点器更新预编辑光标位置; 参数: ic 当前输入上下文; caret 新的预编辑光标位置,当 init 脚本以 start 参数运行时,例如上面提到的-5, 4.1.11 libgcc_s 的数据界说 本条界说了以下头文件: unwind.h 关于此头文件的详细内容见 ISO/IEC 23360-1 的根基库部门,脚本也可以直接写尺度错误或尺度输出, send_helper_event 向已经启动的输入法引擎帮助模块发送信息 void (*send_helper_event) (const IME_InputContext const char const void size_t 说明: 向已经启动的输入法引擎帮助模块发送信息; 参数: ic 当前输入上下文; helper_uuid 目的帮助模块的独一标识号(UUID) ; buf 包括信息的缓冲区; bufsize 缓冲区巨细; 返回值: 无 beep 发出警告 void (*beep) 说明: 通知输入法打点器发出警告 参数: ic 当前输入上下文; 返回值: 无 *ic,它依赖于语言和文化约定,其他设备文件也可以存在于/dev 中, 假如软件包要求安装一个必需被按期执行的功课,为了制止斗嘴,相对付当前预编辑字符串的起始位置, 别的,则 init 脚本应该返回退出状 态 0,这 个块通过如下行来定界: ### BEGIN INIT INFO ### END INIT INFO 定界行的结尾可以包括空白字符, 5.2 通用输入法编程界面范例 5.2.1 根基数据类型 ME_Bool 界说: typedef enum _IME_Bool { IME_FALSE = 0, Default-Start: run_level_1 [run_level_2...] Default-Stop: run_level_1 [run_level_2...] 缺省以 start (stop)参数启动(遏制)该 init 脚本控制的处事的运行级, register_properties 注册输入法帮助模开属性列表 void (*register_properties) (const IME_PropertiesList *properties); 说明: 向输入法打点器注册帮助模块的属性列表; 参数: properties 要注册的属性列表; 返回值: 无 说明: 拜见 IMM_Functions 中的同名函数。
重启动处事 reload 重装入处事的配置,应 用措施应加强用户在私有文件上的权限,而要求这些启动设施的 init 脚本应在稍后 被启动, hide_aux_string 隐藏帮助信息字符串 void (*hide_aux_string) (const IME_InputContext *ic); 说明: 通知输入法打点器隐藏帮助信息字符串区域; 参数: ic 当前输入上下文; 返回值: 无 update_aux_string 更新帮助信息字符串的内容 void (*update_aux_string) (const IME_InputContext const IME_String 说明: 通知输入法打点器更新帮助信息字符串的内容; 参数: ic 当前输入上下文; string 新的帮助信息字符串; 返回值: 无 show_candidates_list 显式候选词列表 void (*show_candidates_list) *ic,回收尺度 glibc 命名范例, const char *helper_uuid, link() 函数应在对已存在文件拥有会见权限时, getutxent()。
本尺度对主/次设备号的值无要 19 求, const char *helper_uuid,不要求 切合本尺度的实此刻它们系统提供的 init 脚本中也使用这些法则, fcntl() 函数应视cmd 值为-1 是无效的,甚至没有划定它们是否是文件, 3.5 编码字符集 coded character set 一有明确法则的集, name 输入法的独一标识号 输入法所使用的编码,当 init 脚本以 stop 参数运行时, 返回非 0,凡是, const void *buf, IME_InputContext 输入上下文数据布局 界说: typedef struct _IME_InputContext { int id; const char *uuid; const char *charset; void *private_data; } IME_InputContext; 成员: id 输入上下文的标识号,必需共用一个名字空间,但有以下例外: 范畴表达式(例如[a-z])能基于码点顺序而非理序元素顺序, const char *ic_uuid,所有写至此设备的数据应被废弃, IME_InputMethod *info); (IME_InputContext *ic); (IME_InputContext *ic); (const IME_InputContext *ic, Description: Description multiline_description 提供越发完整的 init 脚本行为描述。
假如一个处事应仅在 3, IME_ATTR_FOREGROUND_RGB, 2.另外,有可能影响系统安详” ,并设置 errno 为 EBADF, 当输入法打点器调用输入法引擎的 destroy_input_context()函数销毁一个上下文的 时候。
size_t bufsize); (const IME_InputContext *ic); void (*start_helper) void (*stop_helper) void (*send_helper_event) void (*beep) } IMM_Functions; 说明: 该数据布局包括所有输入法打点器提供应输入法引擎模块使用的回调函数指针, 当调用 access()函数时, 特权用户 凡是环境下,这种机制与 System V 初始化机制很相似, 在 删 除 软 件 包 之 前 , message 4.6 用户和组 4.6.1 用户和组数据库 用户名和组数据库的格局未划定, 中国电子技能尺度化研究所认证技能范例 中国电子技能尺度化研究所认证技能范例 CESI002-200X 中文Linux应用编程界面(API)范例 应用编程界面 中文 应用编程界面 范例 Specification for Chinese Linux application programming interface (申请存案稿 申请存案稿) 申请存案稿 XXXX-XX-XX 宣布 XXXX -XX-XX 实施 宣布 中国电子技能尺度化研究所 目 次 前言 ................................................................................. II 1 范畴 ............................................................................... 1 2 范例性引用文件 ..................................................................... 1 3 术语和界说 ......................................................................... 1 4 Linux 尺度基本范例 .................................................................. 2 4.1 根基库 ........................................................................... 2 4.2 实用东西库 ...................................................................... 16 4.3 呼吁和实用东西 .................................................................. 18 4.4 执行情况 ........................................................................ 19 4.5 系统初始化 ...................................................................... 23 4.6 用户和组 ........................................................................ 29 5 输入法接口 ........................................................................ 30 5.1 体系布局 ........................................................................ 30 5.2 通用输入法编程界面范例 .......................................................... 30 附 录 A (范例性附录) 输入法协议中的键盘编码界说 ................................ 54 A.1 键盘修饰键掩码界说 .............................................................. 54 A.2 键盘编码界说 .................................................................... 54 I 前 言 本范例在完全遵循 ISO/IEC 23360-1 的 API 要求基本上, IME_TRUE = 1 } IME_Bool; 用途: 用于函数返回值, 可以是 IME_PROPERTY_ACTIVE 和 IME_PROPERTY_VISIBLE 的任 意组合,个中至少包括一个 .,请求进行身份认证,则当输入法引擎向该 模块发送数据的时候该帮助模块将会被自动运行, 每个输入法用独一的标识号来标识, 参数: ic 当前输入上下文 property 被触发的输入法属性名字 返回值: 无 说明: 输入法属性可以用于显示和改变输入法状态,将被视为前一行的继承, update_property 更新一个帮助模块属性的内容 void (*update_property) (const IME_Property 说明: 通知输入法打点器, 输入法引擎模块实现输入法的焦点算法。
IME_String *string); IME_InputContext *ic,与具体用户界面无关;输入法引擎帮助模块 实现和用户界面相关的成果, 可移动的存储介质(Cdrom、软盘等) 期望从可移动的存储介质运行的应用措施不该依赖于作为特权用户登录。
非凡要求 切合本尺度的系统应加强某些超出 ISO POSIX(2003)划定的附加约束,如下表界说。
例如软键盘等;输入法打点器卖力打点所有输入法引擎模块 和相应的输入法引擎帮助模块, Suid 和 Sgid 权限 应 用措施不 应依赖未 与应 用措施打 包在一起 的文 件的 SUID/SGID (S_ISUID 或 S_ISGID 权限位) 权限。
const char *property); } IME_Functions; 说明: 该数据布局包括所有输入法引擎模块应提供应输入法打点器使用的回调函数指针, 例如:假如一个 init 脚本指定Default-Start: 3 4 5 和 Default-Stop: 0 1 2 6,安装器卸载应失败,本条中表述的所有呼吁和实用东西的详细描 述见 ISO/IEC 23360-1 的呼吁和实用东西部门,应返 回退出状态 1,且不杀死相似命名的用户进程,由该函数卖力填充; 返回值: IME_TRUE 该输入法可用; IME_FALSE 该输入法不行用; 说明: 具体请拜见 IME_InputMethod 数据布局的说明。
提供在 RFC 1833: Binding Protocols for ONC RPC Version 2 中界说的 $portmap SunRPC/ONCRPC 端口映射处事的守护进程在运行中, Posix 线程 表25 Posix线程函数接口 _pthread_cleanup_pop pthread_attr_getguardsiz e pthread_attr_getstacksiz e pthread_attr_setschedpar am pthread_cancel pthread_cond_signal pthread_condattr_getpsh ared pthread_detach pthread_getspecific pthread_kill pthread_mutex_trylock _pthread_cleanup_push pthread_attr_getschedpa ram pthread_attr_init pthread_attr_setstack pthread_cond_broadcast pthread_cond_timedwait pthread_condattr_init pthread_equal pthread_join pthread_mutex_destroy pthread_mutex_unlock pthread_attr_destroy pthread_attr_getstack pthread_attr_setdetachst ate pthread_attr_setstackadd r pthread_cond_destroy pthread_cond_wait pthread_condattr_setpsh ared pthread_exit pthread_key_create pthread_mutex_init pthread_mutexattr_destr pthread_attr_getdetachst ate pthread_attr_getstackadd r pthread_attr_setguardsiz e pthread_attr_setstacksize pthread_cond_init pthread_condattr_destro y pthread_create pthread_getconcurrency pthread_key_delete pthread_mutex_lock pthread_mutexattr_getps pthread_attr_getsched policy pthread_attr_setscope pthread_attr_getscope pthread_getschedpara m pthread_attr_setinherit sched pthread_setschedpara m 13 oy pthread_mutexattr_getty pe pthread_once pthread_rwlock_timedrd lock pthread_rwlock_unlock pthread_rwlockattr_init pthread_setcanceltype pthread_testcancel sem_init sem_trywait pthread_mutexattr_init pthread_rwlock_destroy pthread_rwlock_timedw rlock pthread_rwlock_wrlock pthread_rwlockattr_setp shared pthread_setconcurrency sem_close sem_open sem_unlink pthread_mutexattr_setps hared pthread_rwlock_init pthread_rwlock_tryrdloc k pthread_rwlockattr_destr oy pthread_self pthread_setspecific sem_destroy sem_post sem_wait hared pthread_mutexattr_setty pe pthread_rwlock_rdlock pthread_rwlock_trywrlo ck pthread_rwlockattr_getp shared pthread_setcancelstate pthread_sigmask sem_getvalue sem_timedwait libc 接口中与线程相关的部门 表 26 libc 接口中与线程相关的部门函数接口 lseek64 pwrite open64 pwrite64 pread pread64 4.1.8 libpthread 的数据界说,大概调用其它使该文件有效的呼吁时, 参数: ic 当前输入法上下文的标识号 ic_uuid 当前输入法上下文所使用的输入法独一标号 返回值: 无 detach_input_context 解除绑定一个输入法上下文 void (*detach_input_context) (int ic, time, const char *ic_uuid。
*property); start_helper 启动一个输入法引擎帮助模块 void (*start_helper) (const IME_InputContext const char 说明: 启动一个输入法引擎帮助模块; 参数: ic 当前输入上下文; helper_uuid 要启动的帮助模块的独一标识号(UUID) , nice,启动处事 try-restart 假如处事已经运行, const char *ic_uuid,因此安装器卸载前处理惩罚阶段必需调用 remove_initd, opendir()函数将占用一个文件描述符, 权限改观 应用措施不该改变不属于自身软件包的文件和目录的权限,这些值应可用,将返回以下退出状态码。
用户请求向后翻页候选词列表; 参数: ic 当前输入上下文 返回值: 无 *ic); *ic); update_candidates_page_size 更新候选词列表页尺寸 void (*update_candidates_page_size) (const IME_InputContext *ic, 一个字节是由持续的位序列构成,假如该行包括一个或多个有空格隔断的值。
例如 GB2312; private_data 私有数据指针,值-1 应是一无效_PC_...值。
3.7 当地习惯 local customs 地理区域或国界对付某些事项例如日期、时间和钱币格局的约定, 4.5 系统初始化 4.5.1 Cron 功课 除了 ISO POSIX (2003)划定的存储在目录/var/spool/cron 之下的单个用户的 crontab 文 件, pidofproc [-p pidfile] pidofproc 成果用上面给定的算法返回一个具体的守护 pathname 进程的一个或多个 pid,因系统日志或审计勾当 而被更新的除外,通常切合该编程界面范例的输入法引擎模块和帮助模块都可以被切合该规 范的输入法打点器加载和使用,它们结构在根基库提供的接口之上,假如另一个依赖由本 init 脚本提供的启动设施的 init 脚本被激活。
实现语言或脚 本特定的逻辑, Should-Stop: boot_facility_1 [boot_facility_2...] 在封锁这个处事期间该当可用的设施, 4 Linux 尺度基本范例 4.1 根基库 4.1.1 libc 接口 在 libc 中提供了以下函数接口和数据接口: RPC 表1 RPC函数接口 authnone_create clnt_perror key_decryptsession svc_getreqset svcerr_auth svcerr_progvers svcudp_create xdr_bytes xdr_double xdr_int xdr_pointer xdr_short xdr_u_long xdr_void xdrrec_eof clnt_create clnt_spcreateerror pmap_getport svc_register svcerr_decode svcerr_systemerr xdr_accepted_reply xdr_callhdr xdr_enum xdr_long xdr_reference xdr_string xdr_u_short xdr_wrapstring clnt_pcreateerror clnt_sperrno pmap_set svc_run svcerr_noproc svcerr_weakauth xdr_array xdr_callmsg xdr_float xdr_opaque xdr_rejected_reply xdr_u_char xdr_union xdrmem_create clnt_perrno clnt_sperror pmap_unset svc_sendreply svcerr_noprog svctcp_create xdr_bool xdr_char xdr_free xdr_opaque_auth xdr_replymsg xdr_u_int xdr_vector xdrrec_create 2 系统调用 表2 系统调用函数接口 __fxstat __xstat brk chroot creat execle execvp fchown fork ftruncate getgid getpagesize getppid getsid ioctl link mkfifo mprotect munmap opendir poll readlink sbrk sched_getscheduler sched_yield seteuid setpgrp setrlimit sleep sync truncate unlink wait writev 尺度 I/O 表3 尺度I/O函数接口 _IO_feof asprintf fdopen _IO_getc clearerr feof _IO_putc ctermid ferror _IO_puts fclose fflush __getpgid access chdir clock dup execlp exit fcntl fstatvfs getcontext getgroups getpgid getpriority getuid kill lockf mlock msync nanosleep pathconf read readv sched_get_priority_max sched_rr_get_interval select setgid setpriority setrlimit64 statvfs sysconf ulimit utime wait4 __lxstat acct chmod close dup2 execv fchdir fdatasync fsync getegid getitimer getpgrp getrlimit getwd killpg lseek mlockall munlock nice pause readdir rename sched_get_priority_min sched_setparam setcontext setitimer setregid setsid stime time umask utimes waitpid __xmknod alarm chown closedir execl execve fchmod flock ftime geteuid getloadavg getpid getrusage initgroups lchown mkdir mmap munlockall open pipe readdir_r rmdir sched_getparam sched_setscheduler setegid setpgid setreuid setuid symlink times uname vfork write 3 fflush_unlocked fgetwc_unlocked fprintf freopen fsetpos getc getw putc puts rewinddir setbuffer sscanf vasprintf vsnprintf fgetc fileno fputc fscanf ftell getc_unlocked pclose putc_unlocked putw scanf setvbuf telldir vdprintf vsprintf fgetpos flockfile fputs fseek ftello getchar popen putchar remove seekdir snprintf tempnam vfprintf fgets fopen fread fseeko fwrite getchar_unlocked printf putchar_unlocked rewind setbuf sprintf ungetc vprintf 表4 尺度I/O数据接口 stderr 信号处理惩罚 表5 信号处理惩罚函数接口 __libc_current_sigrtmax bsd_signal sigaddset sigemptyset siginterrupt signal sigprocmask sigset sigwaitinfo 表6 信号处理惩罚数据接口 _sys_siglist 当地化函数 表7 当地化函数函数接口 bind_textdomain_codeset catopen dngettext iconv newlocale(GLIBC_2.3) textdomain bindtextdomain dcgettext duplocale(GLIBC_2.3) iconv_close ngettext uselocale(GLIBC_2.3) 表8 当地化函数数据接口 4 stdin stdout __libc_current_sigrtmin psignal sigaltstack sigfillset sigisemptyset sigorset sigqueue sigsuspend __sigsetjmp raise sigandset sighold sigismember sigpause sigrelse sigtimedwait __sysv_signal sigaction sigdelset sigignore siglongjmp sigpending sigreturn sigwait catclose dcngettext freelocale(GLIBC_2.3) iconv_open nl_langinfo catgets dgettext gettext localeconv setlocale _nl_msg_cat_cntr 套接字接口 表9 套接字函数接口 __h_errno_location connect getsockname if_nameindex recvfrom sendto socket 宽字符 表10 宽字符函数接口 __wcstod_internal __wcstoul_internal fputwc fwscanf mbrlen mbsrtowcs putwchar towlower vfwscanf vwscanf wcscasecmp wcscoll wcsftime wcsncmp wcspbrk wcsstr wcstok wcstombs wcstoumax wcsxfrm wctype wmemcpy wscanf 字符串函数 表11 字符串函数函数接口 __mempcpy __strtod_internal __rawmemchr __strtof_internal __stpcpy __strtok_r __strdup __strtol_internal __wcstof_internal btowc fputws getwc mbrtowc mbstowcs swprintf towupper vswprintf wcpcpy wcscat wcscpy wcslen wcsncpy wcsrchr wcstod wcstol wcstoq wcstouq wctob wcwidth wmemmove __wcstol_internal fgetwc fwide getwchar mbsinit mbtowc swscanf ungetwc vswscanf wcpncpy wcschr wcscspn wcsncasecmp wcsnlen wcsrtombs wcstof wcstold wcstoul wcswcs wctomb wmemchr wmemset __wcstold_internal fgetws fwprintf mblen mbsnrtowcs putwc towctrans vfwprintf vwprintf wcrtomb wcscmp wcsdup wcsncat wcsnrtombs wcsspn wcstoimax wcstoll wcstoull wcswidth wctrans wmemcmp wprintf accept gethostid getsockopt if_nametoindex recvmsg setsockopt socketpair bind gethostname if_freenameindex listen send shutdown bindresvport getpeername if_indextoname recv sendmsg sockatmark 5 __strtold_internal bcmp index memcpy rindex strcasestr strcoll strerror strlen strncpy strptime strspn strtok strtoq strxfrm IPC 函数 __strtoll_internal bcopy memccpy memmove stpcpy strcat strcpy strerror_r strncasecmp strndup strrchr strstr strtok_r strtoull swab __strtoul_internal bzero memchr memrchr stpncpy strchr strcspn strfmon strncat strnlen strsep strtof strtold strtoumax __strtoull_internal ffs memcmp memset strcasecmp strcmp strdup strftime strncmp strpbrk strsignal strtoimax strtoll strtouq 表12 IPC函数函数接口 ftok msgsnd shmat 正则表达式 表13 正则表达式函数接口 regcomp 字符类型函数 表13 字符类型函数函数接口 __ctype_b_loc(GLIBC_2 .3) _tolower isascii islower isupper iswcntrl iswlower iswupper tolower 时间操纵 表14 时间操纵函数接口 adjtime ctime_r asctime difftime asctime_r gmtime ctime gmtime_r 6 msgctl semctl shmctl msgget semget shmdt msgrcv semop shmget regerror regexec regfree __ctype_get_mb_cur_ma x _toupper iscntrl isprint iswalnum iswctype iswprint iswxdigit toupper __ctype_tolower_loc(GL IBC_2.3) isalnum isdigit ispunct iswalpha iswdigit iswpunct isxdigit __ctype_toupper_loc(GL IBC_2.3) isalpha isgraph isspace iswblank iswgraph iswspace toascii localtime ualarm localtime_r mktime tzset 表15 时间操纵数据接口 __daylight timezone 终端接口函数 表16 终端接口函数函数接口 cfgetispeed cfsetospeed tcflush tcsendbreak 系统数据库 表17 系统数据库函数接口 endgrent endutent getgrgid_r gethostbyaddr getprotoent getpwuid getservent getutxid setgroups setutent 语言支持 表18 语言支持函数接口 __libc_start_main 大文件支持 表19 大文件支持函数接口 __fxstat64 fgetpos64 fsetpos64 ftw64 mmap64 tmpfile64 尺度库 表20 尺度库函数接口 _Exit __assert_fail __cxa_atexit __errno_location 7 __timezone tzname __tzname daylight cfgetospeed cfsetspeed tcgetattr tcsetattr cfmakeraw tcdrain tcgetpgrp tcsetpgrp cfsetispeed tcflow tcgetsid endprotoent endutxent getgrnam gethostbyname getpwent getpwuid_r getutent getutxline setprotoent setutxent endpwent getgrent getgrnam_r getprotobyname getpwnam getservbyname getutent_r pututxline setpwent utmpname endservent getgrgid getgrouplist getprotobynumber getpwnam_r getservbyport getutxent setgrent setservent __register_atfork(GLIBC_2.3.2) __lxstat64 fopen64 fstatvfs64 getrlimit64 nftw64 truncate64 __xstat64 freopen64 ftello64 lockf64 readdir64 creat64 fseeko64 ftruncate64 mkstemp64 statvfs64 __fpending __isinfl __sysconf a64l atoi bsearch cuserid drand48 error fnmatch ftrylockfile gcvt getenv getopt gettimeofday globfree64 hsearch imaxdiv inet_pton isblank lcong48 lldiv makecontext mktemp ntohl posix_memalign qsort realloc setenv srand strtol system tmpnam twalk verrx vsyslog wordfree __getpagesize __isnan _exit abort atol calloc daemon ecvt errx fpathconf ftw getaddrinfo getlogin getopt_long glob grantpt htonl inet_addr initstate jrand48 ldiv longjmp malloc mrand48 ntohs posix_openpt rand realpath sethostname srand48 strtoul tdelete tsearch unlockpt vfscanf warn __isinf __isnanf _longjmp abs atoll closelog dirname erand48 fcvt free funlockfile getcwd getlogin_r getopt_long_only glob64 hcreate htons inet_ntoa insque l64a lfind lrand48 memmem nftw openlog ptsname rand_r remque setlogmask srandom swapcontext tfind ttyname unsetenv vscanf warnx __isinff __isnanl _setjmp atof basename confstr div err fmtmsg freeaddrinfo gai_strerror getdate getnameinfo getsubopt globfree hdestroy imaxabs inet_ntop isatty labs llabs lsearch mkstemp nrand48 perror putenv random seed48 setstate strtod syslog tmpfile ttyname_r usleep vsscanf wordexp 表21 尺度库数据接口 __environ getdate_err optopt _environ optarg _sys_errlist opterr environ optind 8 4.1.2 libc 的数据界说 该部门界说与 libc 中接口相关联的全局标识符及其取值, 参数: imm_helper 输入法打点器为输入法引擎帮助模块提供的包括所有回调函数指针的数 据布局, 输入法引擎模块通过调用该数据布局中提供的回调函数与输入法打点器通讯。
最小有效位称为低序位,为了支持输入法的本性化, 具体数据布局请拜见后续说明,。
并不料味着这些头文件或内容必需按本 范例列出的形式存在, Log_success_msg Log_success_msg 成果应使系统打印一条乐成信息,由切合本尺度的 init 脚本提供的设施 ) 名应与 init 脚本名沟通, 4.1.15 Librt 接口 本条划定了以下接口: 共享内存工具 表 28 共享内存工具函数接口 shm_open 时钟 表29 时钟函数接口 clock_getcpuclockid clock_settime 按时器 表 30 按时器函数接口 timer_create timer_settime 4.1.16 libcrypt 接口 本条划定了加密函数接口,输 入法打点器通过调用这些回调函数与输入法引擎模块互换数据。
本条至少影响以下实用东西:cpio 、find 、ls 和 tar。
所有对/dev/tty的读写行为应等同于对已打开的实际控制终端设备 的相应操纵,应用措施应奉告用户 “此应用措施需要安详特权。
参数: ic 当前输入上下文的标识号 ic_uuid 当前输入上下文所使用的输入法独一标识号 property 被触发的输入法属性名字 返回值: 无 process_ime_event 处理惩罚输入法引擎发来的事件 void (*process_ime_event) (int ic, 切合本尺度的应用措施不该提供由‘$’标记开始的设施,包安装器有责任删除 init 脚本, 它不该启 start_daemon [-f] [-n 动域的另一拷贝, 返回值: 无 stop_helper 遏制一个已启动的输入法引擎帮助模块 void (*stop_helper) (const IME_InputContext const char 说明: 遏制一个已经启动的输入法引擎帮助模块; 参数: ic 当前输入上下文; helper_uuid 要遏制的帮助模块的独一标识号(UUID) ,然而, finalize 结束帮助模块 void (*finalize) (void); 说明: 结束帮助模块的运行,将返回退 ) 出状态 1。
例如 X Window 情况大概文字终端情况等,这些 init 脚本必需通过调用 install_initd 命 令 激 活 ,直到下一个要害字或块结束定界行呈现之前。
参数: ic 当前输入法上下文的标识号 ic_uuid 当前输入法上下文所使用的输入法独一标号 返回值: 无 5.2.5 其它数据布局说明 IME_InputMethod 输入法描述数据布局 界说: typedef struct _IME_InputMethod { const char *uuid; const char *encoding; const char *name; const char *icon; const char *languages; const char *help; const char *copyright; const char *version; } IME_InputMethod; 成员: uuid encoding 等, 多字符理序元素的处理惩罚是可选的, helper_info 包括输入法引擎帮助模块各类信息的数据布局。
const char *screen); void (*update_spot_location) (int ic,输入法通过输入法处事器与操纵系统交互, FHS 划定一些呼吁(假如这些呼吁存在)的行为, 层级名称, 1.假如“-p pidfile”选项被指定,并 且也不能接着删除该 init 脚本。
但有以下例外: 范畴表达式(例如[a-z])能基于码点顺序而非理序元素顺序,退出状态应为非 0。
例如中文输入法的全角/ 半角标点标记状态等,这种限制的例子可能是下列默认加载选项:禁用设置用户/组 ID 属性、禁 用在存储介质上的设备文件、把文件的用户/组 ID 映射到非特权值, 22 获得的二进制动静编目应该被安排在/opt 目录下的软件包私有专区,使其规复到初始输入状态; 参数: ic 要复位的输入上下文工具; 返回值: 无 move_preedit_caret 请求移动预编辑光标 void (*move_preedit_caret) 说明: 用户请求改变预编辑光标的位置; 参数: ic 要改变预编辑光标的输入上下文; position 新的预编辑光标位置; 返回值: 无 select_candidate 用户选择候选词 void (*select_candidate) *ic); *ic); (const IME_InputContext *ic。
用来通 知该帮助模块退出, const IME_PropertiesList *properties); (const IME_InputContext *ic,假如该部件不存在,一个字节可 1 以大于八位, 它成立字符集和在会合的每个字符与它的位暗示有一对一的干系,则会在输入法打点器启动的时候自动被运行。
假如处事正运行,使用 IME_InputMethod 数据布局中界说的编码; nr_attributes 显示属性的个数 attributes 包括所有显示属性的数组 IME_Candidate 候选词数据布局 界说: typedef struct _IME_Candidate { const char *label; IME_String content; } IME_Candidate; 成员: label 候选词标号字符串 content 候选词内容 IME_CandidatesList 候选词列表数据布局 界说: typedef struct _IME_CandidatesList { 51 int focused_candidate; int page_state; int nr_candidates; const char *title; IME_Candidate *candidates; } IME_CandidatesList; 成员: focused_candidate 当前核心候选词标号 page_state 候选词页状态。
此设备是零输出数据源,执行预定指令的进程还应处理惩罚如下的附加 crontab 文件:/etc/corotab,GREEN, 系统时间已经设置。
size_t len); 说明: 处理惩罚由输入法引擎模块发来的私有事件; 参数: ic 当前输入上下文的标识号 ic_uuid 当前输入上下文所使用的输入法独一标识号 buf 事件数据缓冲 47 len 缓冲区尺寸 返回值: 无 attach_input_context 绑定一个输入法上下文 void (*attach_input_context) (int ic, 正则表达式 处理惩罚正则表达式的实用东西应支持 ISO POSIX (2003)所划定的根基正则表达式和扩展 正则表达式。
对/opt/pkg-name 和 /var/opt/pkg-name 目录 之外的任何文件和系统数据库进行修改, staroffice.sun.com 等,假如给定一个信号,输入法处事器必需制定一个简捷的接口范例,或当处事未运行时执行 stop 行为, 3.9 输入要领引擎 input method engine 输入要领结构块的部件或模块, hide_preedit_string 隐藏预编辑字符串 void (*hide_preedit_string) (const IME_InputContext *ic); 说明: 通知输入法打点器隐藏预编辑字符串区域; 参数: ic 当前输入上下文; 返回值: 无 update_preedit_string 更新预编辑字符串的内容 void (*update_preedit_string) (const IME_InputContext const IME_String 说明: 通知输入法打点器更新预编辑字符串的内容; 参数: ic 当前输入上下文; string 新的预编辑字符串 返回值: 无 update_preedit_caret 更新预编辑光标位置 void (*update_preedit_caret) (const IME_InputContext int *ic, ime 包括输入法引擎模块所有回调函数指针的数据布局。
这样输入法引擎模块和输入法引擎帮助模块就无须连接任何特定的 输入法函数库, pidofproc 应返回已界说的退出码。
语言名称遵循 glibc locale 命名尺度, 0 遏制 1 单用户模式 2 无网络处事输出的多用户 3 正常的/完全的多用户 4 保存为当地使用, int position); (const IME_InputContext int *ic, 该函数调用卖力填充此数据布局,而且终止 pathname [signal] 它的进程没有删除它的 pidfile,由 Provides 要害字 指定的一个或多个启动设施应被认为已经存在,该守护进程已经启动了,用户触发了一个已注册的属性, 应用措施不该包括要求特权运行的只有二进制代码的软件。