文档详情

2014年Free Pascal Keyboard单元过程函数详解.doc

发布:2017-09-08约1.63万字共18页下载文档
文本预览下载声明
索引:DoneKeyboard FunctionKeyName GetKeyboardDriver GetKeyEvent GetKeyEventChar GetKeyEventCode GetKeyEvntFlags GetKeyEventShiftState GetKeyEventUniCode InitKeyBoard IsFunctionKey KeyEventToString PollKeyEvent PollShiftStateEvent PutKeyEvent SetKeyboardDriver ShiftStateToString TranslateKeyEvent TranslateKeyEventUniCode 这个单元实现独立于系统的键盘接入层,它可以用来轮询键盘状态,并等待某些事件。等待键盘事件可以通过GetKeyEvent函数来实现,它会返回一个依赖驱动程序的键盘事件。这个事件可以由translatekeyevent函数转换成可解释事件。这个函数的结果可用于其他事件检查函数。 一个自定义的键盘驱动程序(keyboard driver)可由SetKeyboardDriver函数安装。当前键盘驱动程序可以用GetKeyBoardDriver检索。 使用这个单元,一开始要调用InitKeyboard,最后要调用DoneKeyBoard。(后面的程序都是这样。) 注:经测试,下文的功能键指F1~F12及方向键和Home、End、Insert、Page Up、Page Down、Delete。下文说的shift应该是指shift、ctrl、alt。检测shift状态时返回结果是这三个键中任意多个被按下或都未按下。 常量: 以下常量定义了一些错误常量,可能由键盘函数返回: errKbdBase = 1010; errKbdInitError = errKbdBase + 0; errKbdNotImplemented = errKbdBase + 1; 以下常量表示指定的键盘按键。第一个常量指定了功能键: const kbdF1 = $FF01; kbdF2 = $FF02; kbdF3 = $FF03; kbdF4 = $FF04; kbdF5 = $FF05; kbdF6 = $FF06; kbdF7 = $FF07; kbdF8 = $FF08; kbdF9 = $FF09; kbdF10 = $FF0A; kbdF11 = $FF0B; kbdF12 = $FF0C; kbdF13 = $FF0D; kbdF14 = $FF0E; kbdF15 = $FF0F; kbdF16 = $FF10; kbdF17 = $FF11; kbdF18 = $FF12; kbdF19 = $FF13; kbdF20 = $FF14; 常量$15到$1F为未来的功能键预留。以下常量指定光标移动键: kbdHome = $FF20; kbdUp = $FF21; kbdPgUp = $FF22; kbdLeft = $FF23; kbdMiddle = $FF24; kbdRight = $FF25; kbdEnd = $FF26; kbdDown = $FF27; kbdPgDn = $FF28; kbdInsert = $FF29; kbdDelete = $FF2A; 常量$2B到$2F为未来的键盘上的键预留。以下标志也被定义: kbASCII = $00; kbUniCode = $01; kbFnKey = $02; kbPhys = $03; kbReleased = $04; 他们可以用来检查键盘事件包含什么样的数据。以下shift状态的标志可以用来决定一个键的shift状态(即按一个键时alt、shift、ctrl是否按下): kbLeftShift = 1; kbRightShift = 2;
显示全部
相似文档