rework QKeyMapper

WIP, the idea is to use X11 enum values to avoid remapping except for
compatibility reasons and remove a lot of crut that uses modified X11 code
making it easier to maintain in the process

Signed-off-by: Ivailo Monev <xakepa10@gmail.com>
This commit is contained in:
Ivailo Monev 2020-12-06 06:27:27 +00:00
parent ef72c454ba
commit be9e8cd953
10 changed files with 648 additions and 1607 deletions

View file

@ -400,468 +400,514 @@ public:
};
enum Key {
Key_Escape = 0x01000000, // misc keys
Key_Tab = 0x01000001,
Key_Backtab = 0x01000002,
Key_Backspace = 0x01000003,
Key_Return = 0x01000004,
Key_Enter = 0x01000005,
Key_Insert = 0x01000006,
Key_Delete = 0x01000007,
Key_Pause = 0x01000008,
Key_Print = 0x01000009,
Key_SysReq = 0x0100000a,
Key_Clear = 0x0100000b,
Key_Home = 0x01000010, // cursor movement
Key_End = 0x01000011,
Key_Left = 0x01000012,
Key_Up = 0x01000013,
Key_Right = 0x01000014,
Key_Down = 0x01000015,
Key_PageUp = 0x01000016,
Key_PageDown = 0x01000017,
Key_Shift = 0x01000020, // modifiers
Key_Control = 0x01000021,
Key_Meta = 0x01000022,
Key_Alt = 0x01000023,
Key_CapsLock = 0x01000024,
Key_NumLock = 0x01000025,
Key_ScrollLock = 0x01000026,
Key_F1 = 0x01000030, // function keys
Key_F2 = 0x01000031,
Key_F3 = 0x01000032,
Key_F4 = 0x01000033,
Key_F5 = 0x01000034,
Key_F6 = 0x01000035,
Key_F7 = 0x01000036,
Key_F8 = 0x01000037,
Key_F9 = 0x01000038,
Key_F10 = 0x01000039,
Key_F11 = 0x0100003a,
Key_F12 = 0x0100003b,
Key_F13 = 0x0100003c,
Key_F14 = 0x0100003d,
Key_F15 = 0x0100003e,
Key_F16 = 0x0100003f,
Key_F17 = 0x01000040,
Key_F18 = 0x01000041,
Key_F19 = 0x01000042,
Key_F20 = 0x01000043,
Key_F21 = 0x01000044,
Key_F22 = 0x01000045,
Key_F23 = 0x01000046,
Key_F24 = 0x01000047,
Key_F25 = 0x01000048, // F25 .. F35 only on X11
Key_F26 = 0x01000049,
Key_F27 = 0x0100004a,
Key_F28 = 0x0100004b,
Key_F29 = 0x0100004c,
Key_F30 = 0x0100004d,
Key_F31 = 0x0100004e,
Key_F32 = 0x0100004f,
Key_F33 = 0x01000050,
Key_F34 = 0x01000051,
Key_F35 = 0x01000052,
Key_Super_L = 0x01000053, // extra keys
Key_Super_R = 0x01000054,
Key_Menu = 0x01000055,
Key_Hyper_L = 0x01000056,
Key_Hyper_R = 0x01000057,
Key_Help = 0x01000058,
Key_Direction_L = 0x01000059,
Key_Direction_R = 0x01000060,
Key_Space = 0x20, // 7 bit printable ASCII
// misc
Key_Backspace = 0xff08,
Key_Tab = 0xff09,
Key_Linefeed = 0xff0a,
Key_Clear = 0xff0b,
Key_Return = 0xff0d,
Key_Pause = 0xff13,
Key_Scroll_Lock = 0xff14,
Key_Sys_Req = 0xff15,
Key_Escape = 0xff1b,
Key_Delete = 0xffff,
Key_Multi_key = 0xff20,
Key_Codeinput = 0xff37,
Key_SingleCandidate = 0xff3c,
Key_MultipleCandidate = 0xff3d,
Key_PreviousCandidate = 0xff3e,
Key_Kanji = 0xff21,
Key_Muhenkan = 0xff22,
Key_Henkan_Mode = 0xff23,
Key_Henkan = 0xff23,
Key_Romaji = 0xff24,
Key_Hiragana = 0xff25,
Key_Katakana = 0xff26,
Key_Hiragana_Katakana = 0xff27,
Key_Zenkaku = 0xff28 ,
Key_Hankaku = 0xff29,
Key_Zenkaku_Hankaku = 0xff2a,
Key_Touroku = 0xff2b,
Key_Massyo = 0xff2c,
Key_Kana_Lock = 0xff2d,
Key_Kana_Shift = 0xff2e,
Key_Eisu_Shift = 0xff2f,
Key_Eisu_toggle = 0xff30,
Key_Kanji_Bangou = 0xff37,
Key_Zen_Koho = 0xff3d,
Key_Mae_Koho = 0xff3e,
Key_Home = 0xff50,
Key_Left = 0xff51,
Key_Up = 0xff52,
Key_Right = 0xff53,
Key_Down = 0xff54,
Key_Prior = 0xff55,
Key_Page_Up = 0xff55,
Key_Next = 0xff56,
Key_Page_Down = 0xff56,
Key_End = 0xff57,
Key_Begin = 0xff58,
Key_Select = 0xff60,
Key_Print = 0xff61,
Key_Execute = 0xff62,
Key_Insert = 0xff63,
Key_Undo = 0xff65,
Key_Redo = 0xff66,
Key_Menu = 0xff67,
Key_Find = 0xff68,
Key_Cancel = 0xff69,
Key_Help = 0xff6a,
Key_Break = 0xff6b,
Key_Mode_switch = 0xff7e,
Key_script_switch = 0xff7e,
Key_Num_Lock = 0xff7f,
Key_F1 = 0xffbe,
Key_F2 = 0xffbf,
Key_F3 = 0xffc0,
Key_F4 = 0xffc1,
Key_F5 = 0xffc2,
Key_F6 = 0xffc3,
Key_F7 = 0xffc4,
Key_F8 = 0xffc5,
Key_F9 = 0xffc6,
Key_F10 = 0xffc7,
Key_F11 = 0xffc8,
Key_F12 = 0xffc9,
Key_F13 = 0xffca,
Key_F14 = 0xffcb,
Key_F15 = 0xffcc,
Key_F16 = 0xffcd,
Key_F17 = 0xffce,
Key_F18 = 0xffcf,
Key_F19 = 0xffd0,
Key_F20 = 0xffd1,
Key_F21 = 0xffd2,
Key_F22 = 0xffd3,
Key_F23 = 0xffd4,
Key_F24 = 0xffd5,
Key_F25 = 0xffd6,
Key_F26 = 0xffd7,
Key_F27 = 0xffd8,
Key_F28 = 0xffd9,
Key_F29 = 0xffda,
Key_F30 = 0xffdb,
Key_F31 = 0xffdc,
Key_F32 = 0xffdd,
Key_F33 = 0xffde,
Key_F34 = 0xffdf,
Key_F35 = 0xffe0,
Key_Shift_L = 0xffe1,
Key_Shift_R = 0xffe2,
Key_Control_L = 0xffe3,
Key_Control_R = 0xffe4,
Key_Caps_Lock = 0xffe5,
Key_Shift_Lock = 0xffe6,
Key_Meta_L = 0xffe7,
Key_Meta_R = 0xffe8,
Key_Alt_L = 0xffe9,
Key_Alt_R = 0xffea,
Key_Super_L = 0xffeb,
Key_Super_R = 0xffec,
Key_Hyper_L = 0xffed,
Key_Hyper_R = 0xffee,
// latin
Key_Space = 0x0020,
Key_Exclam = 0x0021,
Key_QuoteDbl = 0x0022,
Key_NumberSign = 0x0023,
Key_Dollar = 0x0024,
Key_Percent = 0x0025,
Key_Ampersand = 0x0026,
Key_Apostrophe = 0x0027,
Key_ParenLeft = 0x0028,
Key_ParenRight = 0x0029,
Key_Asterisk = 0x002a,
Key_Plus = 0x002b,
Key_Comma = 0x002c,
Key_Minus = 0x002d,
Key_Period = 0x002e,
Key_Slash = 0x002f,
Key_0 = 0x0030,
Key_1 = 0x0031,
Key_2 = 0x0032,
Key_3 = 0x0033,
Key_4 = 0x0034,
Key_5 = 0x0035,
Key_6 = 0x0036,
Key_7 = 0x0037,
Key_8 = 0x0038,
Key_9 = 0x0039,
Key_Colon = 0x003a,
Key_Semicolon = 0x003b,
Key_Less = 0x003c,
Key_Equal = 0x003d,
Key_Greater = 0x003e,
Key_Question = 0x003f,
Key_At = 0x0040,
Key_A = 0x0041,
Key_B = 0x0042,
Key_C = 0x0043,
Key_D = 0x0044,
Key_E = 0x0045,
Key_F = 0x0046,
Key_G = 0x0047,
Key_H = 0x0048,
Key_I = 0x0049,
Key_J = 0x004a,
Key_K = 0x004b,
Key_L = 0x004c,
Key_M = 0x004d,
Key_N = 0x004e,
Key_O = 0x004f,
Key_P = 0x0050,
Key_Q = 0x0051,
Key_R = 0x0052,
Key_S = 0x0053,
Key_T = 0x0054,
Key_U = 0x0055,
Key_V = 0x0056,
Key_W = 0x0057,
Key_X = 0x0058,
Key_Y = 0x0059,
Key_Z = 0x005a,
Key_BracketLeft = 0x005b,
Key_Backslash = 0x005c,
Key_BracketRight = 0x005d,
Key_AsciiCircum = 0x005e,
Key_Underscore = 0x0060,
Key_BraceLeft = 0x007b,
Key_Bar = 0x007c,
Key_BraceRight = 0x007d,
Key_AsciiTilde = 0x007e,
Key_nobreakspace = 0x00a0,
Key_exclamdown = 0x00a1,
Key_cent = 0x00a2,
Key_sterling = 0x00a3,
Key_currency = 0x00a4,
Key_yen = 0x00a5,
Key_brokenbar = 0x00a6,
Key_section = 0x00a7,
Key_diaeresis = 0x00a8,
Key_copyright = 0x00a9,
Key_ordfeminine = 0x00aa,
Key_guillemotleft = 0x00ab,
Key_notsign = 0x00ac,
Key_hyphen = 0x00ad,
Key_registered = 0x00ae,
Key_macron = 0x00af,
Key_degree = 0x00b0,
Key_plusminus = 0x00b1,
Key_twosuperior = 0x00b2,
Key_threesuperior = 0x00b3,
Key_acute = 0x00b4,
Key_mu = 0x00b5,
Key_paragraph = 0x00b6,
Key_periodcentered = 0x00b7,
Key_cedilla = 0x00b8,
Key_onesuperior = 0x00b9,
Key_masculine = 0x00ba,
Key_guillemotright = 0x00bb,
Key_onequarter = 0x00bc,
Key_onehalf = 0x00bd,
Key_threequarters = 0x00be,
Key_questiondown = 0x00bf,
Key_Agrave = 0x00c0,
Key_Aacute = 0x00c1,
Key_Acircumflex = 0x00c2,
Key_Atilde = 0x00c3,
Key_Adiaeresis = 0x00c4,
Key_Aring = 0x00c5,
Key_AE = 0x00c6,
Key_Ccedilla = 0x00c7,
Key_Egrave = 0x00c8,
Key_Eacute = 0x00c9,
Key_Ecircumflex = 0x00ca,
Key_Ediaeresis = 0x00cb,
Key_Igrave = 0x00cc,
Key_Iacute = 0x00cd,
Key_Icircumflex = 0x00ce,
Key_Idiaeresis = 0x00cf,
Key_ETH = 0x00d0,
Key_Eth = 0x00d0,
Key_Ntilde = 0x00d1,
Key_Ograve = 0x00d2,
Key_Oacute = 0x00d3,
Key_Ocircumflex = 0x00d4,
Key_Otilde = 0x00d5,
Key_Odiaeresis = 0x00d6,
Key_multiply = 0x00d7,
Key_Oslash = 0x00d8,
Key_Ooblique = 0x00d8,
Key_Ugrave = 0x00d9,
Key_Uacute = 0x00da,
Key_Ucircumflex = 0x00db,
Key_Udiaeresis = 0x00dc,
Key_Yacute = 0x00dd,
Key_THORN = 0x00de,
Key_Thorn = 0x00de,
Key_ssharp = 0x00df,
Key_agrave = 0x00e0,
Key_aacute = 0x00e1,
Key_acircumflex = 0x00e2,
Key_atilde = 0x00e3,
Key_adiaeresis = 0x00e4,
Key_aring = 0x00e5,
Key_ae = 0x00e6,
Key_ccedilla = 0x00e7,
Key_egrave = 0x00e8,
Key_eacute = 0x00e9,
Key_ecircumflex = 0x00ea,
Key_ediaeresis = 0x00eb,
Key_igrave = 0x00ec,
Key_iacute = 0x00ed,
Key_icircumflex = 0x00ee,
Key_idiaeresis = 0x00ef,
Key_eth = 0x00f0,
Key_ntilde = 0x00f1,
Key_ograve = 0x00f2,
Key_oacute = 0x00f3,
Key_ocircumflex = 0x00f4,
Key_otilde = 0x00f5,
Key_odiaeresis = 0x00f6,
Key_division = 0x00f7,
Key_oslash = 0x00f8,
Key_ooblique = 0x00f8,
Key_ugrave = 0x00f9,
Key_uacute = 0x00fa,
Key_ucircumflex = 0x00fb,
Key_udiaeresis = 0x00fc,
Key_yacute = 0x00fd,
Key_thorn = 0x00fe,
Key_ydiaeresis = 0x00ff,
// multimedia
Key_ModeLock = 0x1008FF01,
Key_MonBrightnessUp = 0x1008FF02,
Key_MonBrightnessDown = 0x1008FF03,
Key_KbdLightOnOff = 0x1008FF04,
Key_KbdBrightnessUp = 0x1008FF05,
Key_KbdBrightnessDown = 0x1008FF06,
Key_MonBrightnessCycle = 0x1008FF07,
Key_Standby = 0x1008FF10,
Key_AudioLowerVolume = 0x1008FF11,
Key_AudioMute = 0x1008FF12,
Key_AudioRaiseVolume = 0x1008FF13,
Key_AudioPlay = 0x1008FF14,
Key_AudioStop = 0x1008FF15,
Key_AudioPrev = 0x1008FF16,
Key_AudioNext = 0x1008FF17,
Key_HomePage = 0x1008FF18,
Key_Mail = 0x1008FF19,
Key_Start = 0x1008FF1A,
Key_Search = 0x1008FF1B,
Key_AudioRecord = 0x1008FF1C,
Key_Calculator = 0x1008FF1D,
Key_Memo = 0x1008FF1E,
Key_ToDoList = 0x1008FF1F,
Key_Calendar = 0x1008FF20,
Key_PowerDown = 0x1008FF21,
Key_ContrastAdjust = 0x1008FF22,
Key_RockerUp = 0x1008FF23,
Key_RockerDown = 0x1008FF24,
Key_RockerEnter = 0x1008FF25,
Key_Back = 0x1008FF26,
Key_Forward = 0x1008FF27,
Key_Stop = 0x1008FF28,
Key_Refresh = 0x1008FF29,
Key_PowerOff = 0x1008FF2A,
Key_WakeUp = 0x1008FF2B,
Key_Eject = 0x1008FF2C,
Key_ScreenSaver = 0x1008FF2D,
Key_WWW = 0x1008FF2E,
Key_Sleep = 0x1008FF2F,
Key_Favorites = 0x1008FF30,
Key_AudioPause = 0x1008FF31,
Key_AudioMedia = 0x1008FF32,
Key_MyComputer = 0x1008FF33,
Key_VendorHome = 0x1008FF34,
Key_LightBulb = 0x1008FF35,
Key_Shop = 0x1008FF36,
Key_History = 0x1008FF37,
Key_OpenURL = 0x1008FF38,
Key_AddFavorite = 0x1008FF39,
Key_HotLinks = 0x1008FF3A,
Key_BrightnessAdjust = 0x1008FF3B,
Key_Finance = 0x1008FF3C,
Key_Community = 0x1008FF3D,
Key_AudioRewind = 0x1008FF3E,
Key_BackForward = 0x1008FF3F,
Key_Launch0 = 0x1008FF40,
Key_Launch1 = 0x1008FF41,
Key_Launch2 = 0x1008FF42,
Key_Launch3 = 0x1008FF43,
Key_Launch4 = 0x1008FF44,
Key_Launch5 = 0x1008FF45,
Key_Launch6 = 0x1008FF46,
Key_Launch7 = 0x1008FF47,
Key_Launch8 = 0x1008FF48,
Key_Launch9 = 0x1008FF49,
Key_LaunchA = 0x1008FF4A,
Key_LaunchB = 0x1008FF4B,
Key_LaunchC = 0x1008FF4C,
Key_LaunchD = 0x1008FF4D,
Key_LaunchE = 0x1008FF4E,
Key_LaunchF = 0x1008FF4F,
Key_ApplicationLeft = 0x1008FF50,
Key_ApplicationRight = 0x1008FF51,
Key_Book = 0x1008FF52,
Key_CD = 0x1008FF53,
Key_Calculater = 0x1008FF54,
// Key_Clear = 0x1008FF55,
Key_Close = 0x1008FF56,
Key_Copy = 0x1008FF57,
Key_Cut = 0x1008FF58,
Key_Display = 0x1008FF59,
Key_DOS = 0x1008FF5A,
Key_Documents = 0x1008FF5B,
Key_Excel = 0x1008FF5C,
Key_Explorer = 0x1008FF5D,
Key_Game = 0x1008FF5E,
Key_Go = 0x1008FF5F,
Key_iTouch = 0x1008FF60,
Key_LogOff = 0x1008FF61,
Key_Market = 0x1008FF62,
Key_Meeting = 0x1008FF63,
Key_MenuKB = 0x1008FF65,
Key_MenuPB = 0x1008FF66,
Key_MySites = 0x1008FF67,
Key_New = 0x1008FF68,
Key_News = 0x1008FF69,
Key_OfficeHome = 0x1008FF6A,
Key_Open = 0x1008FF6B,
Key_Option = 0x1008FF6C,
Key_Paste = 0x1008FF6D,
Key_Phone = 0x1008FF6E,
// Key_Q = 0x1008FF70,
Key_Reply = 0x1008FF72,
Key_Reload = 0x1008FF73,
Key_RotateWindows = 0x1008FF74,
Key_RotationPB = 0x1008FF75,
Key_RotationKB = 0x1008FF76,
Key_Save = 0x1008FF77,
Key_ScrollUp = 0x1008FF78,
Key_ScrollDown = 0x1008FF79,
Key_ScrollClick = 0x1008FF7A,
Key_Send = 0x1008FF7B,
Key_Spell = 0x1008FF7C,
Key_SplitScreen = 0x1008FF7D,
Key_Support = 0x1008FF7E,
Key_TaskPane = 0x1008FF7F,
Key_Terminal = 0x1008FF80,
Key_Tools = 0x1008FF81,
Key_Travel = 0x1008FF82,
Key_UserPB = 0x1008FF84,
Key_User1KB = 0x1008FF85,
Key_User2KB = 0x1008FF86,
Key_Video = 0x1008FF87,
Key_WheelButton = 0x1008FF88,
Key_Word = 0x1008FF89,
Key_Xfer = 0x1008FF8A,
Key_ZoomIn = 0x1008FF8B,
Key_ZoomOut = 0x1008FF8C,
Key_Away = 0x1008FF8D,
Key_Messenger = 0x1008FF8E,
Key_WebCam = 0x1008FF8F,
Key_MailForward = 0x1008FF90,
Key_Pictures = 0x1008FF91,
Key_Music = 0x1008FF92,
Key_Battery = 0x1008FF93,
Key_Bluetooth = 0x1008FF94,
Key_WLAN = 0x1008FF95,
Key_UWB = 0x1008FF96,
Key_AudioForward = 0x1008FF97,
Key_AudioRepeat = 0x1008FF98,
Key_AudioRandomPlay = 0x1008FF99,
Key_Subtitle = 0x1008FF9A,
Key_AudioCycleTrack = 0x1008FF9B,
Key_CycleAngle = 0x1008FF9C,
Key_FrameBack = 0x1008FF9D,
Key_FrameForward = 0x1008FF9E,
Key_Time = 0x1008FF9F,
// Key_Select = 0x1008FFA0,
Key_View = 0x1008FFA1,
Key_TopMenu = 0x1008FFA2,
Key_Red = 0x1008FFA3,
Key_Green = 0x1008FFA4,
Key_Yellow = 0x1008FFA5,
Key_Blue = 0x1008FFA6,
Key_Suspend = 0x1008FFA7,
Key_Hibernate = 0x1008FFA8,
Key_TouchpadToggle = 0x1008FFA9,
Key_TouchpadOn = 0x1008FFB0,
Key_TouchpadOff = 0x1008FFB1,
Key_AudioMicMute = 0x1008FFB2,
Key_Keyboard = 0x1008FFB3,
Key_WWAN = 0x1008FFB4,
Key_RFKill = 0x1008FFB5,
Key_AudioPreset = 0x1008FFB6,
Key_RotationLockToggle = 0x1008FFB7,
Key_FullScreen = 0x1008FFB8,
Key_Switch_VT_1 = 0x1008FE01,
Key_Switch_VT_2 = 0x1008FE02,
Key_Switch_VT_3 = 0x1008FE03,
Key_Switch_VT_4 = 0x1008FE04,
Key_Switch_VT_5 = 0x1008FE05,
Key_Switch_VT_6 = 0x1008FE06,
Key_Switch_VT_7 = 0x1008FE07,
Key_Switch_VT_8 = 0x1008FE08,
Key_Switch_VT_9 = 0x1008FE09,
Key_Switch_VT_10 = 0x1008FE0A,
Key_Switch_VT_11 = 0x1008FE0B,
Key_Switch_VT_12 = 0x1008FE0C,
Key_Ungrab = 0x1008FE20,
Key_ClearGrab = 0x1008FE21,
Key_Next_VMode = 0x1008FE22,
Key_Prev_VMode = 0x1008FE23,
Key_LogWindowTree = 0x1008FE24,
Key_LogGrabInfo = 0x1008FE25,
// pseudo
Key_Shift = 0xffffff8,
Key_Control = 0xffffff9,
Key_Meta = 0xffffffa,
Key_Alt = 0xffffffb,
Key_Backtab = 0xffffffc,
Key_Direction_L = 0xffffffd,
Key_Direction_R = 0xffffffe,
// compatibility
Key_PageUp = Key_Page_Up,
Key_PageDown = Key_Page_Down,
Key_NumLock = Key_Num_Lock,
Key_CapsLock = Key_Caps_Lock,
Key_ScrollLock = Key_Scroll_Lock,
Key_SysReq = Key_Sys_Req,
Key_VolumeDown = Key_AudioLowerVolume,
Key_VolumeUp = Key_AudioRaiseVolume,
Key_VolumeMute = Key_AudioMute,
Key_OpenUrl = Key_OpenURL,
Key_MediaRecord = Key_AudioRecord,
Key_LaunchMail = Key_Mail,
Key_LaunchMedia = Key_AudioMedia,
Key_MediaNext = Key_AudioNext,
Key_MediaPrevious = Key_AudioPrev,
Key_MediaStop = Key_AudioStop,
Key_MediaPlay = Key_AudioPlay,
Key_MediaPause = Key_AudioPause,
Key_KeyboardLightOnOff = Key_KbdLightOnOff,
Key_KeyboardBrightnessUp = Key_KbdBrightnessUp,
Key_KeyboardBrightnessDown = Key_KbdBrightnessDown,
Key_Camera = Key_WebCam,
Key_Call = Key_Phone,
// deprecated
Key_QuoteLeft = Key_Underscore,
Key_QuoteRight = Key_Apostrophe,
Key_Any = Key_Space,
Key_Exclam = 0x21,
Key_QuoteDbl = 0x22,
Key_NumberSign = 0x23,
Key_Dollar = 0x24,
Key_Percent = 0x25,
Key_Ampersand = 0x26,
Key_Apostrophe = 0x27,
Key_ParenLeft = 0x28,
Key_ParenRight = 0x29,
Key_Asterisk = 0x2a,
Key_Plus = 0x2b,
Key_Comma = 0x2c,
Key_Minus = 0x2d,
Key_Period = 0x2e,
Key_Slash = 0x2f,
Key_0 = 0x30,
Key_1 = 0x31,
Key_2 = 0x32,
Key_3 = 0x33,
Key_4 = 0x34,
Key_5 = 0x35,
Key_6 = 0x36,
Key_7 = 0x37,
Key_8 = 0x38,
Key_9 = 0x39,
Key_Colon = 0x3a,
Key_Semicolon = 0x3b,
Key_Less = 0x3c,
Key_Equal = 0x3d,
Key_Greater = 0x3e,
Key_Question = 0x3f,
Key_At = 0x40,
Key_A = 0x41,
Key_B = 0x42,
Key_C = 0x43,
Key_D = 0x44,
Key_E = 0x45,
Key_F = 0x46,
Key_G = 0x47,
Key_H = 0x48,
Key_I = 0x49,
Key_J = 0x4a,
Key_K = 0x4b,
Key_L = 0x4c,
Key_M = 0x4d,
Key_N = 0x4e,
Key_O = 0x4f,
Key_P = 0x50,
Key_Q = 0x51,
Key_R = 0x52,
Key_S = 0x53,
Key_T = 0x54,
Key_U = 0x55,
Key_V = 0x56,
Key_W = 0x57,
Key_X = 0x58,
Key_Y = 0x59,
Key_Z = 0x5a,
Key_BracketLeft = 0x5b,
Key_Backslash = 0x5c,
Key_BracketRight = 0x5d,
Key_AsciiCircum = 0x5e,
Key_Underscore = 0x5f,
Key_QuoteLeft = 0x60,
Key_BraceLeft = 0x7b,
Key_Bar = 0x7c,
Key_BraceRight = 0x7d,
Key_AsciiTilde = 0x7e,
Key_nobreakspace = 0x0a0,
Key_exclamdown = 0x0a1,
Key_cent = 0x0a2,
Key_sterling = 0x0a3,
Key_currency = 0x0a4,
Key_yen = 0x0a5,
Key_brokenbar = 0x0a6,
Key_section = 0x0a7,
Key_diaeresis = 0x0a8,
Key_copyright = 0x0a9,
Key_ordfeminine = 0x0aa,
Key_guillemotleft = 0x0ab, // left angle quotation mark
Key_notsign = 0x0ac,
Key_hyphen = 0x0ad,
Key_registered = 0x0ae,
Key_macron = 0x0af,
Key_degree = 0x0b0,
Key_plusminus = 0x0b1,
Key_twosuperior = 0x0b2,
Key_threesuperior = 0x0b3,
Key_acute = 0x0b4,
Key_mu = 0x0b5,
Key_paragraph = 0x0b6,
Key_periodcentered = 0x0b7,
Key_cedilla = 0x0b8,
Key_onesuperior = 0x0b9,
Key_masculine = 0x0ba,
Key_guillemotright = 0x0bb, // right angle quotation mark
Key_onequarter = 0x0bc,
Key_onehalf = 0x0bd,
Key_threequarters = 0x0be,
Key_questiondown = 0x0bf,
Key_Agrave = 0x0c0,
Key_Aacute = 0x0c1,
Key_Acircumflex = 0x0c2,
Key_Atilde = 0x0c3,
Key_Adiaeresis = 0x0c4,
Key_Aring = 0x0c5,
Key_AE = 0x0c6,
Key_Ccedilla = 0x0c7,
Key_Egrave = 0x0c8,
Key_Eacute = 0x0c9,
Key_Ecircumflex = 0x0ca,
Key_Ediaeresis = 0x0cb,
Key_Igrave = 0x0cc,
Key_Iacute = 0x0cd,
Key_Icircumflex = 0x0ce,
Key_Idiaeresis = 0x0cf,
Key_ETH = 0x0d0,
Key_Ntilde = 0x0d1,
Key_Ograve = 0x0d2,
Key_Oacute = 0x0d3,
Key_Ocircumflex = 0x0d4,
Key_Otilde = 0x0d5,
Key_Odiaeresis = 0x0d6,
Key_multiply = 0x0d7,
Key_Ooblique = 0x0d8,
Key_Ugrave = 0x0d9,
Key_Uacute = 0x0da,
Key_Ucircumflex = 0x0db,
Key_Udiaeresis = 0x0dc,
Key_Yacute = 0x0dd,
Key_THORN = 0x0de,
Key_ssharp = 0x0df,
Key_division = 0x0f7,
Key_ydiaeresis = 0x0ff,
// 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
Key_AltGr = 0x01001103,
Key_Multi_key = 0x01001120, // Multi-key character compose
Key_Codeinput = 0x01001137,
Key_SingleCandidate = 0x0100113c,
Key_MultipleCandidate = 0x0100113d,
Key_PreviousCandidate = 0x0100113e,
// Misc Functions
Key_Mode_switch = 0x0100117e, // Character set switch
//Key_script_switch = 0x0100117e, // Alias for mode_switch
// Japanese keyboard support
Key_Kanji = 0x01001121, // Kanji, Kanji convert
Key_Muhenkan = 0x01001122, // Cancel Conversion
//Key_Henkan_Mode = 0x01001123, // Start/Stop Conversion
Key_Henkan = 0x01001123, // Alias for Henkan_Mode
Key_Romaji = 0x01001124, // to Romaji
Key_Hiragana = 0x01001125, // to Hiragana
Key_Katakana = 0x01001126, // to Katakana
Key_Hiragana_Katakana = 0x01001127, // Hiragana/Katakana toggle
Key_Zenkaku = 0x01001128, // to Zenkaku
Key_Hankaku = 0x01001129, // to Hankaku
Key_Zenkaku_Hankaku = 0x0100112a, // Zenkaku/Hankaku toggle
Key_Touroku = 0x0100112b, // Add to Dictionary
Key_Massyo = 0x0100112c, // Delete from Dictionary
Key_Kana_Lock = 0x0100112d, // Kana Lock
Key_Kana_Shift = 0x0100112e, // Kana Shift
Key_Eisu_Shift = 0x0100112f, // Alphanumeric Shift
Key_Eisu_toggle = 0x01001130, // Alphanumeric toggle
//Key_Kanji_Bangou = 0x01001137, // Codeinput
//Key_Zen_Koho = 0x0100113d, // Multiple/All Candidate(s)
//Key_Mae_Koho = 0x0100113e, // 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.
Key_Hangul = 0x01001131, // Hangul start/stop(toggle)
Key_Hangul_Start = 0x01001132, // Hangul start
Key_Hangul_End = 0x01001133, // Hangul end, English start
Key_Hangul_Hanja = 0x01001134, // Start Hangul->Hanja Conversion
Key_Hangul_Jamo = 0x01001135, // Hangul Jamo mode
Key_Hangul_Romaja = 0x01001136, // Hangul Romaja mode
//Key_Hangul_Codeinput = 0x01001137, // Hangul code input mode
Key_Hangul_Jeonja = 0x01001138, // Jeonja mode
Key_Hangul_Banja = 0x01001139, // Banja mode
Key_Hangul_PreHanja = 0x0100113a, // Pre Hanja conversion
Key_Hangul_PostHanja = 0x0100113b, // Post Hanja conversion
//Key_Hangul_SingleCandidate = 0x0100113c, // Single candidate
//Key_Hangul_MultipleCandidate = 0x0100113d, // Multiple candidate
//Key_Hangul_PreviousCandidate = 0x0100113e, // Previous candidate
Key_Hangul_Special = 0x0100113f, // Special symbols
//Key_Hangul_switch = 0x0100117e, // Alias for mode_switch
// dead keys (X keycode - 0xED00 to avoid the conflict)
Key_Dead_Grave = 0x01001250,
Key_Dead_Acute = 0x01001251,
Key_Dead_Circumflex = 0x01001252,
Key_Dead_Tilde = 0x01001253,
Key_Dead_Macron = 0x01001254,
Key_Dead_Breve = 0x01001255,
Key_Dead_Abovedot = 0x01001256,
Key_Dead_Diaeresis = 0x01001257,
Key_Dead_Abovering = 0x01001258,
Key_Dead_Doubleacute = 0x01001259,
Key_Dead_Caron = 0x0100125a,
Key_Dead_Cedilla = 0x0100125b,
Key_Dead_Ogonek = 0x0100125c,
Key_Dead_Iota = 0x0100125d,
Key_Dead_Voiced_Sound = 0x0100125e,
Key_Dead_Semivoiced_Sound = 0x0100125f,
Key_Dead_Belowdot = 0x01001260,
Key_Dead_Hook = 0x01001261,
Key_Dead_Horn = 0x01001262,
// multimedia/internet keys - ignored by default - see QKeyEvent c'tor
Key_Back = 0x01000061,
Key_Forward = 0x01000062,
Key_Stop = 0x01000063,
Key_Refresh = 0x01000064,
Key_VolumeDown = 0x01000070,
Key_VolumeMute = 0x01000071,
Key_VolumeUp = 0x01000072,
Key_BassBoost = 0x01000073,
Key_BassUp = 0x01000074,
Key_BassDown = 0x01000075,
Key_TrebleUp = 0x01000076,
Key_TrebleDown = 0x01000077,
Key_MediaPlay = 0x01000080,
Key_MediaStop = 0x01000081,
Key_MediaPrevious = 0x01000082,
Key_MediaNext = 0x01000083,
Key_MediaRecord = 0x01000084,
Key_MediaPause = 0x1000085,
Key_MediaTogglePlayPause = 0x1000086,
Key_HomePage = 0x01000090,
Key_Favorites = 0x01000091,
Key_Search = 0x01000092,
Key_Standby = 0x01000093,
Key_OpenUrl = 0x01000094,
Key_LaunchMail = 0x010000a0,
Key_LaunchMedia = 0x010000a1,
Key_Launch0 = 0x010000a2,
Key_Launch1 = 0x010000a3,
Key_Launch2 = 0x010000a4,
Key_Launch3 = 0x010000a5,
Key_Launch4 = 0x010000a6,
Key_Launch5 = 0x010000a7,
Key_Launch6 = 0x010000a8,
Key_Launch7 = 0x010000a9,
Key_Launch8 = 0x010000aa,
Key_Launch9 = 0x010000ab,
Key_LaunchA = 0x010000ac,
Key_LaunchB = 0x010000ad,
Key_LaunchC = 0x010000ae,
Key_LaunchD = 0x010000af,
Key_LaunchE = 0x010000b0,
Key_LaunchF = 0x010000b1,
Key_MonBrightnessUp = 0x010000b2,
Key_MonBrightnessDown = 0x010000b3,
Key_KeyboardLightOnOff = 0x010000b4,
Key_KeyboardBrightnessUp = 0x010000b5,
Key_KeyboardBrightnessDown = 0x010000b6,
Key_PowerOff = 0x010000b7,
Key_WakeUp = 0x010000b8,
Key_Eject = 0x010000b9,
Key_ScreenSaver = 0x010000ba,
Key_WWW = 0x010000bb,
Key_Memo = 0x010000bc,
Key_LightBulb = 0x010000bd,
Key_Shop = 0x010000be,
Key_History = 0x010000bf,
Key_AddFavorite = 0x010000c0,
Key_HotLinks = 0x010000c1,
Key_BrightnessAdjust = 0x010000c2,
Key_Finance = 0x010000c3,
Key_Community = 0x010000c4,
Key_AudioRewind = 0x010000c5,
Key_BackForward = 0x010000c6,
Key_ApplicationLeft = 0x010000c7,
Key_ApplicationRight = 0x010000c8,
Key_Book = 0x010000c9,
Key_CD = 0x010000ca,
Key_Calculator = 0x010000cb,
Key_ToDoList = 0x010000cc,
Key_ClearGrab = 0x010000cd,
Key_Close = 0x010000ce,
Key_Copy = 0x010000cf,
Key_Cut = 0x010000d0,
Key_Display = 0x010000d1,
Key_DOS = 0x010000d2,
Key_Documents = 0x010000d3,
Key_Excel = 0x010000d4,
Key_Explorer = 0x010000d5,
Key_Game = 0x010000d6,
Key_Go = 0x010000d7,
Key_iTouch = 0x010000d8,
Key_LogOff = 0x010000d9,
Key_Market = 0x010000da,
Key_Meeting = 0x010000db,
Key_MenuKB = 0x010000dc,
Key_MenuPB = 0x010000dd,
Key_MySites = 0x010000de,
Key_News = 0x010000df,
Key_OfficeHome = 0x010000e0,
Key_Option = 0x010000e1,
Key_Paste = 0x010000e2,
Key_Phone = 0x010000e3,
Key_Calendar = 0x010000e4,
Key_Reply = 0x010000e5,
Key_Reload = 0x010000e6,
Key_RotateWindows = 0x010000e7,
Key_RotationPB = 0x010000e8,
Key_RotationKB = 0x010000e9,
Key_Save = 0x010000ea,
Key_Send = 0x010000eb,
Key_Spell = 0x010000ec,
Key_SplitScreen = 0x010000ed,
Key_Support = 0x010000ee,
Key_TaskPane = 0x010000ef,
Key_Terminal = 0x010000f0,
Key_Tools = 0x010000f1,
Key_Travel = 0x010000f2,
Key_Video = 0x010000f3,
Key_Word = 0x010000f4,
Key_Xfer = 0x010000f5,
Key_ZoomIn = 0x010000f6,
Key_ZoomOut = 0x010000f7,
Key_Away = 0x010000f8,
Key_Messenger = 0x010000f9,
Key_WebCam = 0x010000fa,
Key_MailForward = 0x010000fb,
Key_Pictures = 0x010000fc,
Key_Music = 0x010000fd,
Key_Battery = 0x010000fe,
Key_Bluetooth = 0x010000ff,
Key_WLAN = 0x01000100,
Key_UWB = 0x01000101,
Key_AudioForward = 0x01000102,
Key_AudioRepeat = 0x01000103,
Key_AudioRandomPlay = 0x01000104,
Key_Subtitle = 0x01000105,
Key_AudioCycleTrack = 0x01000106,
Key_Time = 0x01000107,
Key_Hibernate = 0x01000108,
Key_View = 0x01000109,
Key_TopMenu = 0x0100010a,
Key_PowerDown = 0x0100010b,
Key_Suspend = 0x0100010c,
Key_ContrastAdjust = 0x0100010d,
Key_LaunchG = 0x0100010e,
Key_LaunchH = 0x0100010f,
Key_MediaLast = 0x0100ffff,
// Keypad navigation keys
Key_Select = 0x01010000,
Key_Yes = 0x01010001,
Key_No = 0x01010002,
// Newer misc keys
Key_Cancel = 0x01020001,
Key_Printer = 0x01020002,
Key_Execute = 0x01020003,
Key_Sleep = 0x01020004,
Key_Play = 0x01020005, // Not the same as Key_MediaPlay
Key_Zoom = 0x01020006,
//Key_Jisho = 0x01020007, // IME: Dictionary key
//Key_Oyayubi_Left = 0x01020008, // IME: Left Oyayubi key
//Key_Oyayubi_Right = 0x01020009, // IME: Right Oyayubi key
// Device keys
Key_Context1 = 0x01100000,
Key_Context2 = 0x01100001,
Key_Context3 = 0x01100002,
Key_Context4 = 0x01100003,
Key_Call = 0x01100004, // set absolute state to in a call (do not toggle state)
Key_Hangup = 0x01100005, // set absolute state to hang up (do not toggle state)
Key_Flip = 0x01100006,
Key_ToggleCallHangup = 0x01100007, // a toggle key for answering, or hanging up, based on current call state
Key_VoiceDial = 0x01100008,
Key_LastNumberRedial = 0x01100009,
Key_Camera = 0x01100020,
Key_CameraFocus = 0x01100021,
Key_unknown = 0x01ffffff
Key_Enter = 0xff8d,
Key_AltGr = 0xfe03,
Key_unknown = 0xffffff
};
enum ArrowType {

View file

@ -1239,20 +1239,6 @@ void QDeclarativeItemPrivate::setLayoutMirror(bool mirror)
parameter provides information about the event.
*/
/*!
\qmlsignal Keys::onHangupPressed(KeyEvent event)
This handler is called when the Hangup key has been pressed. The \a event
parameter provides information about the event.
*/
/*!
\qmlsignal Keys::onFlipPressed(KeyEvent event)
This handler is called when the Flip key has been pressed. The \a event
parameter provides information about the event.
*/
/*!
\qmlsignal Keys::onMenuPressed(KeyEvent event)
@ -1326,15 +1312,7 @@ static const struct KeySignalTblData {
{ Qt::Key_Back, "backPressed" },
{ Qt::Key_Cancel, "cancelPressed" },
{ Qt::Key_Select, "selectPressed" },
{ Qt::Key_Yes, "yesPressed" },
{ Qt::Key_No, "noPressed" },
{ Qt::Key_Context1, "context1Pressed" },
{ Qt::Key_Context2, "context2Pressed" },
{ Qt::Key_Context3, "context3Pressed" },
{ Qt::Key_Context4, "context4Pressed" },
{ Qt::Key_Call, "callPressed" },
{ Qt::Key_Hangup, "hangupPressed" },
{ Qt::Key_Flip, "flipPressed" },
{ Qt::Key_Menu, "menuPressed" },
{ Qt::Key_VolumeUp, "volumeUpPressed" },
{ Qt::Key_VolumeDown, "volumeDownPressed" }

View file

@ -549,15 +549,7 @@ Q_SIGNALS:
void backPressed(QDeclarativeKeyEvent *event);
void cancelPressed(QDeclarativeKeyEvent *event);
void selectPressed(QDeclarativeKeyEvent *event);
void yesPressed(QDeclarativeKeyEvent *event);
void noPressed(QDeclarativeKeyEvent *event);
void context1Pressed(QDeclarativeKeyEvent *event);
void context2Pressed(QDeclarativeKeyEvent *event);
void context3Pressed(QDeclarativeKeyEvent *event);
void context4Pressed(QDeclarativeKeyEvent *event);
void callPressed(QDeclarativeKeyEvent *event);
void hangupPressed(QDeclarativeKeyEvent *event);
void flipPressed(QDeclarativeKeyEvent *event);
void menuPressed(QDeclarativeKeyEvent *event);
void volumeUpPressed(QDeclarativeKeyEvent *event);
void volumeDownPressed(QDeclarativeKeyEvent *event);

View file

@ -936,30 +936,6 @@ QWidget *QApplication::widgetAt(const QPoint &p)
\sa QWidget::setStyle(), {Qt Style Sheets}
*/
/*!
\property QApplication::autoMaximizeThreshold
\since 4.4
\brief defines a threshold for auto maximizing widgets
\bold{The auto maximize threshold is only available as part of Qt for
Windows CE.}
This property defines a threshold for the size of a window as a percentage
of the screen size. If the minimum size hint of a window exceeds the
threshold, calling show() will cause the window to be maximized
automatically.
Setting the threshold to 100 or greater means that the widget will always
be maximized. Alternatively, setting the threshold to 50 means that the
widget will be maximized only if the vertical minimum size hint is at least
50% of the vertical screen size.
Setting the threshold to -1 disables the feature.
On Windows CE the default is -1 (i.e., it is disabled).
On Windows Mobile the default is 40.
*/
/*!
\property QApplication::autoSipEnabled
\since 4.5
@ -969,9 +945,6 @@ QWidget *QApplication::widgetAt(const QPoint &p)
widgets that accept keyboard input. This property is typically used to
launch a virtual keyboard on devices which have very few or no keys.
\bold{ The property only has an effect on platforms which use software input
panels, such as Windows CE and Symbian.}
The default is platform dependent.
*/
@ -4197,8 +4170,7 @@ void QApplicationPrivate::emitLastWindowClosed()
from two consecutive key presses
\since 4.2
The default value on X11 is 400 milliseconds. On Windows and Mac OS, the
operating system's value is used.
The default value on X11 is 400 milliseconds.
*/
/*!

View file

@ -248,23 +248,15 @@ extern void qt_desktopwidget_update_workarea();
// Function to change the window manager state (from qwidget_x11.cpp)
extern void qt_change_net_wm_state(const QWidget *w, bool set, Atom one, Atom two);
// modifier masks for alt, meta, super, hyper, and mode_switch - detected when the application starts
// and/or keyboard layout changes
uchar qt_alt_mask = 0;
uchar qt_meta_mask = 0;
uchar qt_super_mask = 0;
uchar qt_hyper_mask = 0;
uchar qt_mode_switch_mask = 0;
// flags for extensions for special Languages, currently only for RTL languages
bool qt_use_rtl_extensions = false;
bool qt_use_rtl_extensions = false;
static Window mouseActWindow = 0; // window where mouse is
static Window mouseActWindow = 0; // window where mouse is
static Qt::MouseButton mouseButtonPressed = Qt::NoButton; // last mouse button pressed
static Qt::MouseButtons mouseButtonState = Qt::NoButton; // mouse button state
static Time mouseButtonPressTime = 0; // when was a button pressed
static short mouseXPos, mouseYPos; // mouse pres position in act window
static short mouseGlobalXPos, mouseGlobalYPos; // global mouse press position
static Time mouseButtonPressTime = 0; // when was a button pressed
static short mouseXPos, mouseYPos; // mouse pres position in act window
static short mouseGlobalXPos, mouseGlobalYPos; // global mouse press position
extern QWidgetList *qt_modal_stack; // stack of modal widgets
@ -285,8 +277,6 @@ static bool qt_x11EventFilter(XEvent* ev)
return qApp->x11EventFilter(ev);
}
QTextCodec * qt_input_mapper = 0;
extern bool qt_check_clipboard_sentinel(); //def in qclipboard_x11.cpp
extern bool qt_check_selection_sentinel(); //def in qclipboard_x11.cpp
extern bool qt_xfixes_clipboard_changed(Window clipboardOwner, Time timestamp); //def in qclipboard_x11.cpp
@ -608,7 +598,7 @@ bool QApplicationPrivate::x11_apply_settings()
libraryPath - QStringList
style - QString
doubleClickInterval - int
keyboardInputInterval - int
keyboardInputInterval - int
cursorFlashTime - int
wheelScrollLines - int
defaultCodec - QString
@ -1457,11 +1447,6 @@ void qt_init(QApplicationPrivate *priv, int,
qt_x11Data->compositingManagerRunning = XGetSelectionOwner(qt_x11Data->display,
ATOM(_NET_WM_CM_S0));
// Always use the locale codec, since we have no examples of non-local
// XIMs, and since we cannot get a sensible answer about the encoding
// from the XIM.
qt_input_mapper = QTextCodec::codecForLocale();
QApplicationPrivate::x11_apply_settings();
// be smart about the size of the default font. most X servers have helvetica
@ -1843,7 +1828,7 @@ Qt::KeyboardModifiers QApplication::queryKeyboardModifiers()
for (int i = 0; i < ScreenCount(qt_x11Data->display); ++i) {
if (XQueryPointer(qt_x11Data->display, QX11Info::appRootWindow(i), &root, &child,
&root_x, &root_y, &win_x, &win_y, &keybstate))
return qt_x11Data->translateModifiers(keybstate & 0x00ff);
return qt_keymapper_private()->translateModifiers(keybstate & 0x00ff);
}
return 0;
@ -2840,22 +2825,6 @@ static Qt::MouseButtons translateMouseButtons(int s)
return ret;
}
Qt::KeyboardModifiers QX11Data::translateModifiers(int s)
{
Qt::KeyboardModifiers ret = 0;
if (s & ShiftMask)
ret |= Qt::ShiftModifier;
if (s & ControlMask)
ret |= Qt::ControlModifier;
if (s & qt_alt_mask)
ret |= Qt::AltModifier;
if (s & qt_meta_mask)
ret |= Qt::MetaModifier;
if (s & qt_mode_switch_mask)
ret |= Qt::GroupSwitchModifier;
return ret;
}
bool QETWidget::translateMouseEvent(const XEvent *event)
{
if (!isWindow() && testAttribute(Qt::WA_NativeWindow))
@ -2917,7 +2886,7 @@ bool QETWidget::translateMouseEvent(const XEvent *event)
globalPos.rx() = lastMotion.x_root;
globalPos.ry() = lastMotion.y_root;
buttons = translateMouseButtons(lastMotion.state);
modifiers = qt_x11Data->translateModifiers(lastMotion.state);
modifiers = qt_keymapper_private()->translateModifiers(lastMotion.state);
if (qt_button_down && !buttons)
qt_button_down = 0;
} else if (event->type == EnterNotify || event->type == LeaveNotify) {
@ -2930,7 +2899,7 @@ bool QETWidget::translateMouseEvent(const XEvent *event)
globalPos.rx() = xevent->xcrossing.x_root;
globalPos.ry() = xevent->xcrossing.y_root;
buttons = translateMouseButtons(xevent->xcrossing.state);
modifiers = qt_x11Data->translateModifiers(xevent->xcrossing.state);
modifiers = qt_keymapper_private()->translateModifiers(xevent->xcrossing.state);
if (qt_button_down && !buttons)
qt_button_down = 0;
if (qt_button_down)
@ -2942,7 +2911,7 @@ bool QETWidget::translateMouseEvent(const XEvent *event)
globalPos.rx() = event->xbutton.x_root;
globalPos.ry() = event->xbutton.y_root;
buttons = translateMouseButtons(event->xbutton.state);
modifiers = qt_x11Data->translateModifiers(event->xbutton.state);
modifiers = qt_keymapper_private()->translateModifiers(event->xbutton.state);
switch (event->xbutton.button) {
case Button1: button = Qt::LeftButton; break;
case Button2: button = Qt::MiddleButton; break;

View file

@ -75,18 +75,6 @@ private:
Q_DISABLE_COPY(QKeyMapper)
};
#if defined(Q_WS_X11)
struct QXCoreDesc {
int min_keycode;
int max_keycode;
int keysyms_per_keycode;
KeySym *keysyms;
uchar mode_switch;
uchar num_lock;
KeySym lock_meaning;
};
#endif
class QKeyEvent;
class QKeyMapperPrivate : public QObjectPrivate
{
@ -102,10 +90,8 @@ public:
Qt::LayoutDirection keyboardInputDirection;
#if defined(Q_WS_X11)
bool translateKeyEvent(QWidget *keywidget,
const XEvent *);
QXCoreDesc coreDesc;
bool translateKeyEvent(QWidget *keywidget, const XEvent *event);
Qt::KeyboardModifiers translateModifiers(int state);
#endif
};

File diff suppressed because it is too large Load diff

View file

@ -240,11 +240,6 @@ static const struct KeyNameTblData {
{ Qt::Key_VolumeDown, QT_TRANSLATE_NOOP("QShortcut", "Volume Down") },
{ Qt::Key_VolumeMute, QT_TRANSLATE_NOOP("QShortcut", "Volume Mute") },
{ Qt::Key_VolumeUp, QT_TRANSLATE_NOOP("QShortcut", "Volume Up") },
{ Qt::Key_BassBoost, QT_TRANSLATE_NOOP("QShortcut", "Bass Boost") },
{ Qt::Key_BassUp, QT_TRANSLATE_NOOP("QShortcut", "Bass Up") },
{ Qt::Key_BassDown, QT_TRANSLATE_NOOP("QShortcut", "Bass Down") },
{ Qt::Key_TrebleUp, QT_TRANSLATE_NOOP("QShortcut", "Treble Up") },
{ Qt::Key_TrebleDown, QT_TRANSLATE_NOOP("QShortcut", "Treble Down") },
{ Qt::Key_MediaPlay, QT_TRANSLATE_NOOP("QShortcut", "Media Play") },
{ Qt::Key_MediaStop, QT_TRANSLATE_NOOP("QShortcut", "Media Stop") },
{ Qt::Key_MediaPrevious, QT_TRANSLATE_NOOP("QShortcut", "Media Previous") },
@ -253,7 +248,6 @@ static const struct KeyNameTblData {
//: Media player pause button
{ Qt::Key_MediaPause, QT_TRANSLATE_NOOP("QShortcut", "Media Pause") },
//: Media player button to toggle between playing and paused
{ Qt::Key_MediaTogglePlayPause, QT_TRANSLATE_NOOP("QShortcut", "Toggle Media Play/Pause") },
{ Qt::Key_HomePage, QT_TRANSLATE_NOOP("QShortcut", "Home Page") },
{ Qt::Key_Favorites, QT_TRANSLATE_NOOP("QShortcut", "Favorites") },
{ Qt::Key_Search, QT_TRANSLATE_NOOP("QShortcut", "Search") },
@ -382,34 +376,6 @@ static const struct KeyNameTblData {
{ Qt::Key_Escape, QT_TRANSLATE_NOOP("QShortcut", "Escape") },
{ Qt::Key_SysReq, QT_TRANSLATE_NOOP("QShortcut", "System Request") },
// --------------------------------------------------------------
// Keypad navigation keys
{ Qt::Key_Select, QT_TRANSLATE_NOOP("QShortcut", "Select") },
{ Qt::Key_Yes, QT_TRANSLATE_NOOP("QShortcut", "Yes") },
{ Qt::Key_No, QT_TRANSLATE_NOOP("QShortcut", "No") },
// --------------------------------------------------------------
// Device keys
{ Qt::Key_Context1, QT_TRANSLATE_NOOP("QShortcut", "Context1") },
{ Qt::Key_Context2, QT_TRANSLATE_NOOP("QShortcut", "Context2") },
{ Qt::Key_Context3, QT_TRANSLATE_NOOP("QShortcut", "Context3") },
{ Qt::Key_Context4, QT_TRANSLATE_NOOP("QShortcut", "Context4") },
//: Button to start a call (note: a separate button is used to end the call)
{ Qt::Key_Call, QT_TRANSLATE_NOOP("QShortcut", "Call") },
//: Button to end a call (note: a separate button is used to start the call)
{ Qt::Key_Hangup, QT_TRANSLATE_NOOP("QShortcut", "Hangup") },
//: Button that will hang up if we're in call, or make a call if we're not.
{ Qt::Key_ToggleCallHangup, QT_TRANSLATE_NOOP("QShortcut", "Toggle Call/Hangup") },
{ Qt::Key_Flip, QT_TRANSLATE_NOOP("QShortcut", "Flip") },
//: Button to trigger voice dialing
{ Qt::Key_VoiceDial, QT_TRANSLATE_NOOP("QShortcut", "Voice Dial") },
//: Button to redial the last number called
{ Qt::Key_LastNumberRedial, QT_TRANSLATE_NOOP("QShortcut", "Last Number Redial") },
//: Button to trigger the camera shutter (take a picture)
{ Qt::Key_Camera, QT_TRANSLATE_NOOP("QShortcut", "Camera Shutter") },
//: Button to focus the camera
{ Qt::Key_CameraFocus, QT_TRANSLATE_NOOP("QShortcut", "Camera Focus") },
// --------------------------------------------------------------
// Japanese keyboard support
{ Qt::Key_Kanji, QT_TRANSLATE_NOOP("QShortcut", "Kanji") },
@ -431,20 +397,6 @@ static const struct KeyNameTblData {
{ Qt::Key_Codeinput, QT_TRANSLATE_NOOP("QShortcut", "Code input") },
{ Qt::Key_MultipleCandidate,QT_TRANSLATE_NOOP("QShortcut", "Multiple Candidate") },
{ Qt::Key_PreviousCandidate,QT_TRANSLATE_NOOP("QShortcut", "Previous Candidate") },
// --------------------------------------------------------------
// Korean keyboard support
{ Qt::Key_Hangul, QT_TRANSLATE_NOOP("QShortcut", "Hangul") },
{ Qt::Key_Hangul_Start, QT_TRANSLATE_NOOP("QShortcut", "Hangul Start") },
{ Qt::Key_Hangul_End, QT_TRANSLATE_NOOP("QShortcut", "Hangul End") },
{ Qt::Key_Hangul_Hanja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Hanja") },
{ Qt::Key_Hangul_Jamo, QT_TRANSLATE_NOOP("QShortcut", "Hangul Jamo") },
{ Qt::Key_Hangul_Romaja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Romaja") },
{ Qt::Key_Hangul_Jeonja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Jeonja") },
{ Qt::Key_Hangul_Banja, QT_TRANSLATE_NOOP("QShortcut", "Hangul Banja") },
{ Qt::Key_Hangul_PreHanja, QT_TRANSLATE_NOOP("QShortcut", "Hangul PreHanja") },
{ Qt::Key_Hangul_PostHanja,QT_TRANSLATE_NOOP("QShortcut", "Hangul PostHanja") },
{ Qt::Key_Hangul_Special, QT_TRANSLATE_NOOP("QShortcut", "Hangul Special") },
};
static const short KeyNameTblSize = sizeof(KeyNameTbl) / sizeof(KeyNameTblData);

View file

@ -65,14 +65,9 @@
#define XK_MISCELLANY
#define XK_LATIN1
#define XK_KOREAN
#include <X11/keysymdef.h>
#include <X11/XF86keysym.h>
#ifndef XK_ISO_Left_Tab
#define XK_ISO_Left_Tab 0xFE20
#endif
#ifdef index
# undef index
#endif
@ -153,8 +148,6 @@ struct QXdndDropTransaction
class QMimeData;
struct QX11Data
{
static Qt::KeyboardModifiers translateModifiers(int s);
Window findClientWindow(Window, Atom, bool);
// from qclipboard_x11.cpp

View file

@ -115,7 +115,6 @@ Qt::Key QTest::asciiToKey(char ascii)
case 0x5d: return Qt::Key_BracketRight;
case 0x5e: return Qt::Key_AsciiCircum;
case 0x5f: return Qt::Key_Underscore;
case 0x60: return Qt::Key_QuoteLeft;
case 0x61: return Qt::Key_A;
case 0x62: return Qt::Key_B;
case 0x63: return Qt::Key_C;
@ -301,7 +300,6 @@ char QTest::keyToAscii(Qt::Key key)
case Qt::Key_BracketRight: return 0x5d;
case Qt::Key_AsciiCircum: return 0x5e;
case Qt::Key_Underscore: return 0x5f;
case Qt::Key_QuoteLeft: return 0x60;
case Qt::Key_BraceLeft: return 0x7b;
case Qt::Key_Bar: return 0x7c;
@ -453,11 +451,6 @@ char QTest::keyToAscii(Qt::Key key)
case Qt::Key_VolumeDown: return 0; // = 0x1070,
case Qt::Key_VolumeMute : return 0; // = 0x1071,
case Qt::Key_VolumeUp: return 0; // = 0x1072,
case Qt::Key_BassBoost: return 0; // = 0x1073,
case Qt::Key_BassUp: return 0; // = 0x1074,
case Qt::Key_BassDown: return 0; // = 0x1075,
case Qt::Key_TrebleUp: return 0; // = 0x1076,
case Qt::Key_TrebleDown: return 0; // = 0x1077,
case Qt::Key_MediaPlay : return 0; // = 0x1080,
case Qt::Key_MediaStop : return 0; // = 0x1081,