2018-02-28 09:03:47 +01:00
|
|
|
|
# vim: ft=python fileencoding=utf-8 sts=4 sw=4 et:
|
|
|
|
|
|
|
|
|
|
# Copyright 2018 Florian Bruhin (The Compiler) <mail@qutebrowser.org>
|
|
|
|
|
#
|
|
|
|
|
# This file is part of qutebrowser.
|
|
|
|
|
#
|
|
|
|
|
# qutebrowser is free software: you can redistribute it and/or modify
|
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
|
# the Free Software Foundation, either version 3 of the License, or
|
|
|
|
|
# (at your option) any later version.
|
|
|
|
|
#
|
|
|
|
|
# qutebrowser is distributed in the hope that it will be useful,
|
|
|
|
|
# but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
|
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
|
|
|
|
# GNU General Public License for more details.
|
|
|
|
|
#
|
|
|
|
|
# You should have received a copy of the GNU General Public License
|
|
|
|
|
# along with qutebrowser. If not, see <http://www.gnu.org/licenses/>.
|
|
|
|
|
|
|
|
|
|
import attr
|
|
|
|
|
|
|
|
|
|
from PyQt5.QtCore import Qt
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@attr.s
|
|
|
|
|
class Key:
|
|
|
|
|
|
|
|
|
|
attribute = attr.ib()
|
|
|
|
|
name = attr.ib(None) # default: name == attribute
|
|
|
|
|
text = attr.ib('')
|
|
|
|
|
member = attr.ib(None)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# From enum Key in qt5/qtbase/src/corelib/global/qnamespace.h
|
|
|
|
|
KEYS = [
|
|
|
|
|
### misc keys
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Escape'), # qutebrowser has a different name from Qt
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Tab'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Backtab', 'Tab'), # qutebrowser has a different name from Qt
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Backspace'),
|
|
|
|
|
Key('Return'),
|
|
|
|
|
Key('Enter'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Insert', 'Ins'),
|
|
|
|
|
Key('Delete', 'Del'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Pause'),
|
|
|
|
|
Key('Print'), # print screen
|
|
|
|
|
Key('SysReq'),
|
|
|
|
|
Key('Clear'),
|
|
|
|
|
### cursor movement
|
|
|
|
|
Key('Home'),
|
|
|
|
|
Key('End'),
|
|
|
|
|
Key('Left'),
|
|
|
|
|
Key('Up'),
|
|
|
|
|
Key('Right'),
|
|
|
|
|
Key('Down'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('PageUp', 'PgUp'),
|
|
|
|
|
Key('PageDown', 'PgDown'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
### modifiers
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Shift'),
|
|
|
|
|
Key('Control'),
|
|
|
|
|
Key('Meta'),
|
|
|
|
|
Key('Alt'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('CapsLock'),
|
|
|
|
|
Key('NumLock'),
|
|
|
|
|
Key('ScrollLock'),
|
|
|
|
|
### function keys
|
|
|
|
|
Key('F1'),
|
|
|
|
|
Key('F2'),
|
|
|
|
|
Key('F3'),
|
|
|
|
|
Key('F4'),
|
|
|
|
|
Key('F5'),
|
|
|
|
|
Key('F6'),
|
|
|
|
|
Key('F7'),
|
|
|
|
|
Key('F8'),
|
|
|
|
|
Key('F9'),
|
|
|
|
|
Key('F10'),
|
|
|
|
|
Key('F11'),
|
|
|
|
|
Key('F12'),
|
|
|
|
|
Key('F13'),
|
|
|
|
|
Key('F14'),
|
|
|
|
|
Key('F15'),
|
|
|
|
|
Key('F16'),
|
|
|
|
|
Key('F17'),
|
|
|
|
|
Key('F18'),
|
|
|
|
|
Key('F19'),
|
|
|
|
|
Key('F20'),
|
|
|
|
|
Key('F21'),
|
|
|
|
|
Key('F22'),
|
|
|
|
|
Key('F23'),
|
|
|
|
|
Key('F24'),
|
|
|
|
|
# F25 .. F35 only on X11
|
|
|
|
|
Key('F25'),
|
|
|
|
|
Key('F26'),
|
|
|
|
|
Key('F27'),
|
|
|
|
|
Key('F28'),
|
|
|
|
|
Key('F29'),
|
|
|
|
|
Key('F30'),
|
|
|
|
|
Key('F31'),
|
|
|
|
|
Key('F32'),
|
|
|
|
|
Key('F33'),
|
|
|
|
|
Key('F34'),
|
|
|
|
|
Key('F35'),
|
|
|
|
|
### extra keys
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Super_L', 'Super L'),
|
|
|
|
|
Key('Super_R', 'Super R'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Menu'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Hyper_L', 'Hyper L'),
|
|
|
|
|
Key('Hyper_R', 'Hyper R'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Help'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Direction_L', 'Direction L'),
|
|
|
|
|
Key('Direction_R', 'Direction R'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
### 7 bit printable ASCII
|
|
|
|
|
Key('Space'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Any', 'Space'), # Same value
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Exclam', '!'),
|
|
|
|
|
Key('QuoteDbl', '"'),
|
|
|
|
|
Key('NumberSign', '#'),
|
|
|
|
|
Key('Dollar', '$'),
|
|
|
|
|
Key('Percent', '%'),
|
|
|
|
|
Key('Ampersand', '&'),
|
|
|
|
|
Key('Apostrophe', "'"),
|
|
|
|
|
Key('ParenLeft', '('),
|
2018-02-28 09:51:19 +01:00
|
|
|
|
Key('ParenRight', ')'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Asterisk', '*'),
|
|
|
|
|
Key('Plus', '+'),
|
|
|
|
|
Key('Comma', ','),
|
|
|
|
|
Key('Minus', '-'),
|
|
|
|
|
Key('Period', '.'),
|
|
|
|
|
Key('Slash', '/'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('0'),
|
|
|
|
|
Key('1'),
|
|
|
|
|
Key('2'),
|
|
|
|
|
Key('3'),
|
|
|
|
|
Key('4'),
|
|
|
|
|
Key('5'),
|
|
|
|
|
Key('6'),
|
|
|
|
|
Key('7'),
|
|
|
|
|
Key('8'),
|
|
|
|
|
Key('9'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Colon', ':'),
|
|
|
|
|
Key('Semicolon', ';'),
|
|
|
|
|
Key('Less', '<'),
|
|
|
|
|
Key('Equal', '='),
|
|
|
|
|
Key('Greater', '>'),
|
|
|
|
|
Key('Question', '?'),
|
|
|
|
|
Key('At', '@'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('A'),
|
|
|
|
|
Key('B'),
|
|
|
|
|
Key('C'),
|
|
|
|
|
Key('D'),
|
|
|
|
|
Key('E'),
|
|
|
|
|
Key('F'),
|
|
|
|
|
Key('G'),
|
|
|
|
|
Key('H'),
|
|
|
|
|
Key('I'),
|
|
|
|
|
Key('J'),
|
|
|
|
|
Key('K'),
|
|
|
|
|
Key('L'),
|
|
|
|
|
Key('M'),
|
|
|
|
|
Key('N'),
|
|
|
|
|
Key('O'),
|
|
|
|
|
Key('P'),
|
|
|
|
|
Key('Q'),
|
|
|
|
|
Key('R'),
|
|
|
|
|
Key('S'),
|
|
|
|
|
Key('T'),
|
|
|
|
|
Key('U'),
|
|
|
|
|
Key('V'),
|
|
|
|
|
Key('W'),
|
|
|
|
|
Key('X'),
|
|
|
|
|
Key('Y'),
|
|
|
|
|
Key('Z'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('BracketLeft', '['),
|
|
|
|
|
Key('Backslash', '\\'),
|
|
|
|
|
Key('BracketRight', ']'),
|
|
|
|
|
Key('AsciiCircum', '^'),
|
|
|
|
|
Key('Underscore', '_'),
|
|
|
|
|
Key('QuoteLeft', '`'),
|
|
|
|
|
Key('BraceLeft', '{'),
|
|
|
|
|
Key('Bar', '|'),
|
|
|
|
|
Key('BraceRight', '}'),
|
|
|
|
|
Key('AsciiTilde', '~'),
|
|
|
|
|
|
|
|
|
|
Key('nobreakspace', ' '),
|
|
|
|
|
Key('exclamdown', '¡'),
|
|
|
|
|
Key('cent', '¢'),
|
|
|
|
|
Key('sterling', '£'),
|
|
|
|
|
Key('currency', '¤'),
|
|
|
|
|
Key('yen', '¥'),
|
|
|
|
|
Key('brokenbar', '¦'),
|
|
|
|
|
Key('section', '§'),
|
|
|
|
|
Key('diaeresis', '¨'),
|
|
|
|
|
Key('copyright', '©'),
|
|
|
|
|
Key('ordfeminine', 'ª'),
|
|
|
|
|
Key('guillemotleft', '«'),
|
|
|
|
|
Key('notsign', '¬'),
|
|
|
|
|
Key('hyphen', ''),
|
|
|
|
|
Key('registered', '®'),
|
|
|
|
|
Key('macron', '¯'),
|
|
|
|
|
Key('degree', '°'),
|
|
|
|
|
Key('plusminus', '±'),
|
|
|
|
|
Key('twosuperior', '²'),
|
|
|
|
|
Key('threesuperior', '³'),
|
|
|
|
|
Key('acute', '´'),
|
|
|
|
|
Key('mu', 'Μ'),
|
|
|
|
|
Key('paragraph', '¶'),
|
|
|
|
|
Key('periodcentered', '·'),
|
|
|
|
|
Key('cedilla', '¸'),
|
|
|
|
|
Key('onesuperior', '¹'),
|
|
|
|
|
Key('masculine', 'º'),
|
|
|
|
|
Key('guillemotright', '»'),
|
|
|
|
|
Key('onequarter', '¼'),
|
|
|
|
|
Key('onehalf', '½'),
|
|
|
|
|
Key('threequarters', '¾'),
|
|
|
|
|
Key('questiondown', '¿'),
|
|
|
|
|
Key('Agrave', 'À'),
|
|
|
|
|
Key('Aacute', 'Á'),
|
|
|
|
|
Key('Acircumflex', 'Â'),
|
|
|
|
|
Key('Atilde', 'Ã'),
|
|
|
|
|
Key('Adiaeresis', 'Ä'),
|
|
|
|
|
Key('Aring', 'Å'),
|
|
|
|
|
Key('AE', 'Æ'),
|
|
|
|
|
Key('Ccedilla', 'Ç'),
|
|
|
|
|
Key('Egrave', 'È'),
|
|
|
|
|
Key('Eacute', 'É'),
|
|
|
|
|
Key('Ecircumflex', 'Ê'),
|
|
|
|
|
Key('Ediaeresis', 'Ë'),
|
|
|
|
|
Key('Igrave', 'Ì'),
|
|
|
|
|
Key('Iacute', 'Í'),
|
|
|
|
|
Key('Icircumflex', 'Î'),
|
|
|
|
|
Key('Idiaeresis', 'Ï'),
|
|
|
|
|
Key('ETH', 'Ð'),
|
|
|
|
|
Key('Ntilde', 'Ñ'),
|
|
|
|
|
Key('Ograve', 'Ò'),
|
|
|
|
|
Key('Oacute', 'Ó'),
|
|
|
|
|
Key('Ocircumflex', 'Ô'),
|
|
|
|
|
Key('Otilde', 'Õ'),
|
|
|
|
|
Key('Odiaeresis', 'Ö'),
|
|
|
|
|
Key('multiply', '×'),
|
|
|
|
|
Key('Ooblique', 'Ø'),
|
|
|
|
|
Key('Ugrave', 'Ù'),
|
|
|
|
|
Key('Uacute', 'Ú'),
|
|
|
|
|
Key('Ucircumflex', 'Û'),
|
|
|
|
|
Key('Udiaeresis', 'Ü'),
|
|
|
|
|
Key('Yacute', 'Ý'),
|
|
|
|
|
Key('THORN', 'Þ'),
|
|
|
|
|
Key('ssharp', 'ß'),
|
|
|
|
|
Key('division', '÷'),
|
|
|
|
|
Key('ydiaeresis', 'Ÿ'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
|
|
|
|
### International input method support (X keycode - 0xEE00, the
|
|
|
|
|
### definition follows Qt/Embedded 2.3.7) Only interesting if
|
|
|
|
|
### you are writing your own input method
|
|
|
|
|
|
|
|
|
|
### International & multi-key character composition
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('AltGr'),
|
|
|
|
|
Key('Multi_key', 'Multi key'), # Multi-key character compose
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Codeinput', 'Code input'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('SingleCandidate', 'Single Candidate'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('MultipleCandidate', 'Multiple Candidate'),
|
|
|
|
|
Key('PreviousCandidate', 'Previous Candidate'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
|
|
|
|
### Misc Functions
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Mode_switch', 'Mode switch'), # Character set switch
|
2018-02-28 09:03:47 +01:00
|
|
|
|
# Key('script_switch'), # Alias for mode_switch
|
|
|
|
|
|
|
|
|
|
### Japanese keyboard support
|
|
|
|
|
Key('Kanji'), # Kanji, Kanji convert
|
|
|
|
|
Key('Muhenkan'), # Cancel Conversion
|
|
|
|
|
# Key('Henkan_Mode'), # Start/Stop Conversion
|
|
|
|
|
Key('Henkan'), # Alias for Henkan_Mode
|
|
|
|
|
Key('Romaji'), # to Romaji
|
|
|
|
|
Key('Hiragana'), # to Hiragana
|
|
|
|
|
Key('Katakana'), # to Katakana
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Hiragana_Katakana', 'Hiragana Katakana'), # Hiragana/Katakana toggle
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Zenkaku'), # to Zenkaku
|
|
|
|
|
Key('Hankaku'), # to Hankaku
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Zenkaku_Hankaku', 'Zenkaku Hankaku'), # Zenkaku/Hankaku toggle
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Touroku'), # Add to Dictionary
|
|
|
|
|
Key('Massyo'), # Delete from Dictionary
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Kana_Lock', 'Kana Lock'),
|
|
|
|
|
Key('Kana_Shift', 'Kana Shift'),
|
|
|
|
|
Key('Eisu_Shift', 'Eisu Shift'), # Alphanumeric Shift
|
|
|
|
|
Key('Eisu_toggle', 'Eisu toggle'), # Alphanumeric toggle
|
2018-02-28 09:03:47 +01:00
|
|
|
|
# Key('Kanji_Bangou'), # Codeinput
|
|
|
|
|
# Key('Zen_Koho'), # Multiple/All Candidate(s)
|
|
|
|
|
# Key('Mae_Koho'), # Previous Candidate
|
|
|
|
|
|
|
|
|
|
### Korean keyboard support
|
|
|
|
|
###
|
|
|
|
|
### In fact, many Korean users need only 2 keys, Key_Hangul and
|
|
|
|
|
### Key_Hangul_Hanja. But rest of the keys are good for future.
|
|
|
|
|
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Hangul'), # Hangul start/stop(toggle),
|
|
|
|
|
Key('Hangul_Start', 'Hangul Start'), # Hangul start
|
|
|
|
|
Key('Hangul_End', 'Hangul End'), # Hangul end, English start
|
|
|
|
|
Key('Hangul_Hanja', 'Hangul Hanja'), # Start Hangul->Hanja Conversion
|
|
|
|
|
Key('Hangul_Jamo', 'Hangul Jamo'), # Hangul Jamo mode
|
|
|
|
|
Key('Hangul_Romaja', 'Hangul Romaja'), # Hangul Romaja mode
|
|
|
|
|
# Key('Hangul_Codeinput', 'Hangul Codeinput'),# Hangul code input mode
|
|
|
|
|
Key('Hangul_Jeonja', 'Hangul Jeonja'), # Jeonja mode
|
|
|
|
|
Key('Hangul_Banja', 'Hangul Banja'), # Banja mode
|
|
|
|
|
Key('Hangul_PreHanja', 'Hangul PreHanja'), # Pre Hanja conversion
|
|
|
|
|
Key('Hangul_PostHanja', 'Hangul PostHanja'), # Post Hanja conversion
|
|
|
|
|
# Key('Hangul_SingleCandidate', 'Hangul SingleCandidate'), # Single candidate
|
|
|
|
|
# Key('Hangul_MultipleCandidate', 'Hangul MultipleCandidate'), # Multiple candidate
|
|
|
|
|
# Key('Hangul_PreviousCandidate', 'Hangul PreviousCandidate'), # Previous candidate
|
|
|
|
|
Key('Hangul_Special', 'Hangul Special'), # Special symbols
|
|
|
|
|
# Key('Hangul_switch', 'Hangul switch'), # Alias for mode_switch
|
|
|
|
|
|
|
|
|
|
# dead keys (X keycode - 0xED00 to avoid the conflict),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Dead_Grave', '`'),
|
|
|
|
|
Key('Dead_Acute', '´'),
|
|
|
|
|
Key('Dead_Circumflex', '^'),
|
|
|
|
|
Key('Dead_Tilde', '~'),
|
|
|
|
|
Key('Dead_Macron', '¯'),
|
|
|
|
|
Key('Dead_Breve', '˘'),
|
|
|
|
|
Key('Dead_Abovedot', '˙'),
|
|
|
|
|
Key('Dead_Diaeresis', '¨'),
|
|
|
|
|
Key('Dead_Abovering', '˚'),
|
|
|
|
|
Key('Dead_Doubleacute', '˝'),
|
|
|
|
|
Key('Dead_Caron', 'ˇ'),
|
|
|
|
|
Key('Dead_Cedilla', '¸'),
|
|
|
|
|
Key('Dead_Ogonek', '˛'),
|
|
|
|
|
Key('Dead_Iota', 'Iota'),
|
|
|
|
|
Key('Dead_Voiced_Sound', 'Voiced Sound'),
|
|
|
|
|
Key('Dead_Semivoiced_Sound', 'Semivoiced Sound'),
|
|
|
|
|
Key('Dead_Belowdot', 'Belowdot'),
|
|
|
|
|
Key('Dead_Hook', 'Hook'),
|
|
|
|
|
Key('Dead_Horn', 'Horn'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
|
|
|
|
# Not in Qt 5.10, so data may be wrong!
|
|
|
|
|
Key('Dead_Stroke'),
|
|
|
|
|
Key('Dead_Abovecomma'),
|
|
|
|
|
Key('Dead_Abovereversedcomma'),
|
|
|
|
|
Key('Dead_Doublegrave'),
|
|
|
|
|
Key('Dead_Belowring'),
|
|
|
|
|
Key('Dead_Belowmacron'),
|
|
|
|
|
Key('Dead_Belowcircumflex'),
|
|
|
|
|
Key('Dead_Belowtilde'),
|
|
|
|
|
Key('Dead_Belowbreve'),
|
|
|
|
|
Key('Dead_Belowdiaeresis'),
|
|
|
|
|
Key('Dead_Invertedbreve'),
|
|
|
|
|
Key('Dead_Belowcomma'),
|
|
|
|
|
Key('Dead_Currency'),
|
|
|
|
|
Key('Dead_a'),
|
|
|
|
|
Key('Dead_A'),
|
|
|
|
|
Key('Dead_e'),
|
|
|
|
|
Key('Dead_E'),
|
|
|
|
|
Key('Dead_i'),
|
|
|
|
|
Key('Dead_I'),
|
|
|
|
|
Key('Dead_o'),
|
|
|
|
|
Key('Dead_O'),
|
|
|
|
|
Key('Dead_u'),
|
|
|
|
|
Key('Dead_U'),
|
|
|
|
|
Key('Dead_Small_Schwa'),
|
|
|
|
|
Key('Dead_Capital_Schwa'),
|
|
|
|
|
Key('Dead_Greek'),
|
|
|
|
|
Key('Dead_Lowline'),
|
|
|
|
|
Key('Dead_Aboveverticalline'),
|
|
|
|
|
Key('Dead_Belowverticalline'),
|
|
|
|
|
Key('Dead_Longsolidusoverlay'),
|
|
|
|
|
|
|
|
|
|
### multimedia/internet keys - ignored by default - see QKeyEvent c'tor
|
|
|
|
|
Key('Back'),
|
|
|
|
|
Key('Forward'),
|
|
|
|
|
Key('Stop'),
|
|
|
|
|
Key('Refresh'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('VolumeDown', 'Volume Down'),
|
|
|
|
|
Key('VolumeMute', 'Volume Mute'),
|
|
|
|
|
Key('VolumeUp', 'Volume Up'),
|
|
|
|
|
Key('BassBoost', 'Bass Boost'),
|
|
|
|
|
Key('BassUp', 'Bass Up'),
|
|
|
|
|
Key('BassDown', 'Bass Down'),
|
|
|
|
|
Key('TrebleUp', 'Treble Up'),
|
|
|
|
|
Key('TrebleDown', 'Treble Down'),
|
|
|
|
|
Key('MediaPlay', 'Media Play'),
|
|
|
|
|
Key('MediaStop', 'Media Stop'),
|
|
|
|
|
Key('MediaPrevious', 'Media Previous'),
|
|
|
|
|
Key('MediaNext', 'Media Next'),
|
|
|
|
|
Key('MediaRecord', 'Media Record'),
|
|
|
|
|
Key('MediaPause', 'Media Pause'),
|
|
|
|
|
Key('MediaTogglePlayPause', 'Toggle Media Play/Pause'),
|
|
|
|
|
Key('HomePage', 'Home Page'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Favorites'),
|
|
|
|
|
Key('Search'),
|
|
|
|
|
Key('Standby'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
|
|
|
|
|
Key('OpenUrl', 'Open URL'),
|
|
|
|
|
Key('LaunchMail', 'Launch Mail'),
|
|
|
|
|
Key('LaunchMedia', 'Launch Media'),
|
2018-02-28 09:51:19 +01:00
|
|
|
|
Key('Launch0', 'Launch (0)'),
|
|
|
|
|
Key('Launch1', 'Launch (1)'),
|
|
|
|
|
Key('Launch2', 'Launch (2)'),
|
|
|
|
|
Key('Launch3', 'Launch (3)'),
|
|
|
|
|
Key('Launch4', 'Launch (4)'),
|
|
|
|
|
Key('Launch5', 'Launch (5)'),
|
|
|
|
|
Key('Launch6', 'Launch (6)'),
|
|
|
|
|
Key('Launch7', 'Launch (7)'),
|
|
|
|
|
Key('Launch8', 'Launch (8)'),
|
|
|
|
|
Key('Launch9', 'Launch (9)'),
|
|
|
|
|
Key('LaunchA', 'Launch (A)'),
|
|
|
|
|
Key('LaunchB', 'Launch (B)'),
|
|
|
|
|
Key('LaunchC', 'Launch (C)'),
|
|
|
|
|
Key('LaunchD', 'Launch (D)'),
|
|
|
|
|
Key('LaunchE', 'Launch (E)'),
|
|
|
|
|
Key('LaunchF', 'Launch (F)'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('MonBrightnessUp', 'Monitor Brightness Up'),
|
|
|
|
|
Key('MonBrightnessDown', 'Monitor Brightness Down'),
|
|
|
|
|
Key('KeyboardLightOnOff', 'Keyboard Light On/Off'),
|
|
|
|
|
Key('KeyboardBrightnessUp', 'Keyboard Brightness Up'),
|
|
|
|
|
Key('KeyboardBrightnessDown', 'Keyboard Brightness Down'),
|
|
|
|
|
Key('PowerOff', 'Power Off'),
|
|
|
|
|
Key('WakeUp', 'Wake Up'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Eject'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('ScreenSaver', 'Screensaver'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('WWW'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Memo', 'Memo'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('LightBulb'),
|
|
|
|
|
Key('Shop'),
|
|
|
|
|
Key('History'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('AddFavorite', 'Add Favorite'),
|
|
|
|
|
Key('HotLinks', 'Hot Links'),
|
|
|
|
|
Key('BrightnessAdjust', 'Adjust Brightness'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Finance'),
|
|
|
|
|
Key('Community'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('AudioRewind', 'Media Rewind'),
|
|
|
|
|
Key('BackForward', 'Back Forward'),
|
|
|
|
|
Key('ApplicationLeft', 'Application Left'),
|
|
|
|
|
Key('ApplicationRight', 'Application Right'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Book'),
|
|
|
|
|
Key('CD'),
|
|
|
|
|
Key('Calculator'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('ToDoList', 'To Do List'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('ClearGrab', 'Clear Grab'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Close'),
|
|
|
|
|
Key('Copy'),
|
|
|
|
|
Key('Cut'),
|
|
|
|
|
Key('Display'), # Output switch key
|
|
|
|
|
Key('DOS'),
|
|
|
|
|
Key('Documents'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Excel', 'Spreadsheet'),
|
|
|
|
|
Key('Explorer', 'Browser'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Game'),
|
|
|
|
|
Key('Go'),
|
|
|
|
|
Key('iTouch'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('LogOff', 'Logoff'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Market'),
|
|
|
|
|
Key('Meeting'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('MenuKB', 'Keyboard Menu'),
|
|
|
|
|
Key('MenuPB', 'Menu PB'),
|
|
|
|
|
Key('MySites', 'My Sites'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('News'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('OfficeHome', 'Home Office'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Option'),
|
|
|
|
|
Key('Paste'),
|
|
|
|
|
Key('Phone'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('Calendar'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Reply'),
|
|
|
|
|
Key('Reload'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('RotateWindows', 'Rotate Windows'),
|
|
|
|
|
Key('RotationPB', 'Rotation PB'),
|
|
|
|
|
Key('RotationKB', 'Rotation KB'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Save'),
|
|
|
|
|
Key('Send'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Spell', 'Spellchecker'),
|
|
|
|
|
Key('SplitScreen', 'Split Screen'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Support'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('TaskPane', 'Task Panel'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Terminal'),
|
|
|
|
|
Key('Tools'),
|
|
|
|
|
Key('Travel'),
|
|
|
|
|
Key('Video'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Word', 'Word Processor'),
|
|
|
|
|
Key('Xfer', 'XFer'),
|
|
|
|
|
Key('ZoomIn', 'Zoom In'),
|
|
|
|
|
Key('ZoomOut', 'Zoom Out'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Away'),
|
|
|
|
|
Key('Messenger'),
|
|
|
|
|
Key('WebCam'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('MailForward', 'Mail Forward'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Pictures'),
|
|
|
|
|
Key('Music'),
|
|
|
|
|
Key('Battery'),
|
|
|
|
|
Key('Bluetooth'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('WLAN', 'Wireless'),
|
|
|
|
|
Key('UWB', 'Ultra Wide Band'),
|
|
|
|
|
Key('AudioForward', 'Media Fast Forward'),
|
|
|
|
|
Key('AudioRepeat', 'Audio Repeat'), # Toggle repeat mode
|
|
|
|
|
Key('AudioRandomPlay', 'Audio Random Play'), # Toggle shuffle mode
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Subtitle'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('AudioCycleTrack', 'Audio Cycle Track'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Time'),
|
|
|
|
|
Key('Hibernate'),
|
|
|
|
|
Key('View'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('TopMenu', 'Top Menu'),
|
|
|
|
|
Key('PowerDown', 'Power Down'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
Key('Suspend'),
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('ContrastAdjust', 'Contrast Adjust'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('LaunchG', 'Launch (G)'),
|
|
|
|
|
Key('LaunchH', 'Launch (H)'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('TouchpadToggle', 'Touchpad Toggle'),
|
|
|
|
|
Key('TouchpadOn', 'Touchpad On'),
|
|
|
|
|
Key('TouchpadOff', 'Touchpad Off'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('MicMute', 'Microphone Mute'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
|
|
|
|
Key('Red'),
|
|
|
|
|
Key('Green'),
|
|
|
|
|
Key('Yellow'),
|
|
|
|
|
Key('Blue'),
|
|
|
|
|
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('ChannelUp', 'Channel Up'),
|
|
|
|
|
Key('ChannelDown', 'Channel Down'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
|
|
|
|
Key('Guide'),
|
|
|
|
|
Key('Info'),
|
|
|
|
|
Key('Settings'),
|
|
|
|
|
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('MicVolumeUp', 'Microphone Volume Up'),
|
|
|
|
|
Key('MicVolumeDown', 'Microphone Volume Down'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
|
|
|
|
Key('New'),
|
|
|
|
|
Key('Open'),
|
|
|
|
|
Key('Find'),
|
|
|
|
|
Key('Undo'),
|
|
|
|
|
Key('Redo'),
|
|
|
|
|
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('MediaLast', 'Media Last'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
|
|
|
|
### Keypad navigation keys
|
|
|
|
|
Key('Select'),
|
|
|
|
|
Key('Yes'),
|
|
|
|
|
Key('No'),
|
|
|
|
|
|
|
|
|
|
### Newer misc keys
|
|
|
|
|
Key('Cancel'),
|
|
|
|
|
Key('Printer'),
|
|
|
|
|
Key('Execute'),
|
|
|
|
|
Key('Sleep'),
|
|
|
|
|
Key('Play'), # Not the same as Key_MediaPlay
|
|
|
|
|
Key('Zoom'),
|
|
|
|
|
# Key('Jisho'), # IME: Dictionary key
|
|
|
|
|
# Key('Oyayubi_Left'), # IME: Left Oyayubi key
|
|
|
|
|
# Key('Oyayubi_Right'), # IME: Right Oyayubi key
|
|
|
|
|
Key('Exit'),
|
|
|
|
|
|
|
|
|
|
# Device keys
|
|
|
|
|
Key('Context1'),
|
|
|
|
|
Key('Context2'),
|
|
|
|
|
Key('Context3'),
|
|
|
|
|
Key('Context4'),
|
|
|
|
|
Key('Call'), # set absolute state to in a call (do not toggle state)
|
|
|
|
|
Key('Hangup'), # set absolute state to hang up (do not toggle state)
|
|
|
|
|
Key('Flip'),
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('ToggleCallHangup', 'Toggle Call/Hangup'), # a toggle key for answering, or hanging up, based on current call state
|
|
|
|
|
Key('VoiceDial', 'Voice Dial'),
|
|
|
|
|
Key('LastNumberRedial', 'Last Number Redial'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
2018-02-28 09:34:27 +01:00
|
|
|
|
Key('Camera', 'Camera Shutter'),
|
|
|
|
|
Key('CameraFocus', 'Camera Focus'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
|
2018-02-28 10:21:02 +01:00
|
|
|
|
Key('unknown', 'Unknown'),
|
2018-02-28 09:03:47 +01:00
|
|
|
|
]
|