📄 qkbdpc101_qws.cpp
字号:
#if defined(QT_QWS_IPAQ) && !ipaq_return_pressed#endif ) { extended = 1; return; } else if (code == 225) { extended = 2; return; }#endif if (code & 0x80) { release = true; code &= 0x7f; }#ifndef QT_QWS_USE_KEYCODES if (extended == 1) { switch (code) { case 72: keyCode = Qt::Key_Up; break; case 75: keyCode = Qt::Key_Left; break; case 77: keyCode = Qt::Key_Right; break; case 80: keyCode = Qt::Key_Down; break; case 82: keyCode = Qt::Key_Insert; break; case 71: keyCode = Qt::Key_Home; break; case 73: keyCode = Qt::Key_PageUp; break; case 83: keyCode = Qt::Key_Delete; break; case 79: keyCode = Qt::Key_End; break; case 81: keyCode = Qt::Key_PageDown; break; case 28: keyCode = Qt::Key_Enter; break; case 53: keyCode = Qt::Key_Slash; break; case 0x1d: keyCode = Qt::Key_Control; break; case 0x2a: keyCode = Qt::Key_Print; break; case 0x38: keyCode = Qt::Key_Alt; break; case 0x5b: keyCode = Qt::Key_Super_L; break; case 0x5c: keyCode = Qt::Key_Super_R; break; case 0x5d: keyCode = Qt::Key_Menu; break;#if 0 default: qDebug("extended1 code %x release %d", code, release); break;#endif } } else if (extended == 2) { switch (code) { case 0x1d: return; case 0x45: keyCode = Qt::Key_Pause; break; } } else#endif { if (code < keyMSize) { keyCode = pc101KeyM[code].key_code; }#if defined(QT_QWS_IPAQ) || defined(QT_QWS_EBX) softwareRepeat = true; switch (code) { case 0x7a: case 0x7b: case 0x7c: case 0x7d: keyCode = code - 0x7a + Qt::Key_F9; softwareRepeat = false; break; case 0x79: keyCode = Qt::Key_SysReq; softwareRepeat = false; break; case 0x78:# ifdef QT_QWS_IPAQ keyCode = Qt::Key_F24; // record# else keyCode = Qt::Key_Escape;# endif softwareRepeat = false; break; case 0x60: keyCode = Qt::Key_Return;# ifdef QT_QWS_IPAQ ipaq_return_pressed = !release;# endif break; case 0x67: keyCode = Qt::Key_Right; break; case 0x69: keyCode = Qt::Key_Up; break; case 0x6a: keyCode = Qt::Key_Down; break; case 0x6c: keyCode = Qt::Key_Left; break; } if (qt_screen->isTransformed() && keyCode >= Qt::Key_Left && keyCode <= Qt::Key_Down) { keyCode = transformDirKey(keyCode); }#endif /* Translate shift+Qt::Key_Tab to Qt::Key_Backtab */ if ((keyCode == Qt::Key_Tab) && shift) keyCode = Qt::Key_Backtab; }#ifndef QT_QWS_USE_KEYCODES /* Qt::Keypad consists of extended keys 53 and 28, and non-extended keys 55 and 71 through 83. */ if ((extended == 1) ? (code == 53 || code == 28) : (code == 55 || (code >= 71 && code <= 83)))#else if (code == 55 || code >= 71 && code <= 83 || code == 96 || code == 98 || code == 118)#endif { keypad = Qt::KeypadModifier; } // Ctrl-Alt-Backspace exits qws if (ctrl && alt && keyCode == Qt::Key_Backspace) { qApp->quit(); } if (keyCode == Qt::Key_Alt) { alt = !release; } else if (keyCode == Qt::Key_Control) { ctrl = !release; } else if (keyCode == Qt::Key_Shift) { shift = !release; } else if (keyCode == Qt::Key_CapsLock && release) { caps = !caps;#if defined(Q_OS_LINUX) char leds; ioctl(0, KDGETLED, &leds); leds = leds & ~LED_CAP; if (caps) leds |= LED_CAP; ioctl(0, KDSETLED, leds);#endif } if (keyCode != Qt::Key_unknown) { bool bAlt = alt; bool bCtrl = ctrl; bool bShift = shift; int unicode = 0; if (code < keyMSize) { if (!extended) { bool bCaps = shift || (caps ? QChar(keyMap()[code].unicode).isLetter() : false); if (bCtrl) unicode = keyMap()[code].ctrl_unicode ? keyMap()[code].ctrl_unicode : 0xffff; else if (bCaps) unicode = keyMap()[code].shift_unicode ? keyMap()[code].shift_unicode : 0xffff; else unicode = keyMap()[code].unicode ? keyMap()[code].unicode : 0xffff;#ifndef QT_QWS_USE_KEYCODES } else if (extended==1) { if (code == 53) unicode = '/';#endif } } modifiers = 0; if (bAlt) modifiers |= Qt::AltModifier; if (bCtrl) modifiers |= Qt::ControlModifier; if (bShift) modifiers |= Qt::ShiftModifier; if (keypad) modifiers |= Qt::KeypadModifier; // looks wrong -- WWA bool repeat = false; if (prevuni == unicode && prevkey == keyCode && !release) repeat = true; processKeyEvent(unicode, keyCode, modifiers, !release, repeat); if (!release) { prevuni = unicode; prevkey = keyCode; } else { prevkey = prevuni = 0; } } if (softwareRepeat && !release) beginAutoRepeat(prevuni, prevkey, modifiers); else endAutoRepeat(); extended = 0;}#endif // QT_NO_QWS_KEYBOARD
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -