2010-10-14 08:27:31 +02:00
|
|
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
|
2012-06-21 20:25:33 +01:00
|
|
|
/*
|
|
|
|
* This file is part of the LibreOffice project.
|
|
|
|
*
|
|
|
|
* This Source Code Form is subject to the terms of the Mozilla Public
|
|
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
|
|
|
|
*
|
|
|
|
* This file incorporates work covered by the following license notice:
|
|
|
|
*
|
|
|
|
* Licensed to the Apache Software Foundation (ASF) under one or more
|
|
|
|
* contributor license agreements. See the NOTICE file distributed
|
|
|
|
* with this work for additional information regarding copyright
|
|
|
|
* ownership. The ASF licenses this file to you under the Apache
|
|
|
|
* License, Version 2.0 (the "License"); you may not use this file
|
|
|
|
* except in compliance with the License. You may obtain a copy of
|
|
|
|
* the License at http://www.apache.org/licenses/LICENSE-2.0 .
|
|
|
|
*/
|
2007-04-11 16:59:01 +00:00
|
|
|
|
2013-10-23 19:10:20 +02:00
|
|
|
#ifndef INCLUDED_VCL_KEYCODES_HXX
|
|
|
|
#define INCLUDED_VCL_KEYCODES_HXX
|
2007-04-11 16:59:01 +00:00
|
|
|
|
|
|
|
#include <com/sun/star/awt/Key.hpp>
|
|
|
|
#include <com/sun/star/awt/KeyGroup.hpp>
|
2014-12-31 18:39:32 +02:00
|
|
|
#include <o3tl/typed_flags_set.hxx>
|
2007-04-11 16:59:01 +00:00
|
|
|
|
2018-01-12 20:10:40 +01:00
|
|
|
#define KEY_CODE_MASK (sal_uInt16(0x0FFF))
|
2017-09-12 10:32:31 +02:00
|
|
|
|
|
|
|
// Modifier keys
|
2018-01-12 20:10:40 +01:00
|
|
|
#define KEY_SHIFT (sal_uInt16(0x1000))
|
|
|
|
#define KEY_MOD1 (sal_uInt16(0x2000))
|
|
|
|
#define KEY_MOD2 (sal_uInt16(0x4000))
|
|
|
|
#define KEY_MOD3 (sal_uInt16(0x8000))
|
|
|
|
#define KEY_MODIFIERS_MASK (sal_uInt16(0xF000))
|
2017-09-12 10:32:31 +02:00
|
|
|
|
2017-06-04 16:44:43 +02:00
|
|
|
// Key groups
|
2018-01-12 20:10:40 +01:00
|
|
|
#define KEYGROUP_NUM (sal_uInt16(css::awt::KeyGroup::NUM))
|
|
|
|
#define KEYGROUP_ALPHA (sal_uInt16(css::awt::KeyGroup::ALPHA))
|
|
|
|
#define KEYGROUP_FKEYS (sal_uInt16(css::awt::KeyGroup::FKEYS))
|
|
|
|
#define KEYGROUP_CURSOR (sal_uInt16(css::awt::KeyGroup::CURSOR))
|
|
|
|
#define KEYGROUP_MISC (sal_uInt16(css::awt::KeyGroup::MISC))
|
|
|
|
#define KEYGROUP_TYPE (sal_uInt16(css::awt::KeyGroup::TYPE))
|
2007-04-11 16:59:01 +00:00
|
|
|
|
2017-06-04 16:44:43 +02:00
|
|
|
// Key codes
|
2018-01-12 20:10:40 +01:00
|
|
|
#define KEY_0 (sal_uInt16(css::awt::Key::NUM0))
|
|
|
|
#define KEY_1 (sal_uInt16(css::awt::Key::NUM1))
|
|
|
|
#define KEY_2 (sal_uInt16(css::awt::Key::NUM2))
|
|
|
|
#define KEY_3 (sal_uInt16(css::awt::Key::NUM3))
|
|
|
|
#define KEY_4 (sal_uInt16(css::awt::Key::NUM4))
|
|
|
|
#define KEY_5 (sal_uInt16(css::awt::Key::NUM5))
|
|
|
|
#define KEY_6 (sal_uInt16(css::awt::Key::NUM6))
|
|
|
|
#define KEY_7 (sal_uInt16(css::awt::Key::NUM7))
|
|
|
|
#define KEY_8 (sal_uInt16(css::awt::Key::NUM8))
|
|
|
|
#define KEY_9 (sal_uInt16(css::awt::Key::NUM9))
|
|
|
|
|
|
|
|
#define KEY_A (sal_uInt16(css::awt::Key::A))
|
|
|
|
#define KEY_B (sal_uInt16(css::awt::Key::B))
|
|
|
|
#define KEY_C (sal_uInt16(css::awt::Key::C))
|
|
|
|
#define KEY_D (sal_uInt16(css::awt::Key::D))
|
|
|
|
#define KEY_E (sal_uInt16(css::awt::Key::E))
|
|
|
|
#define KEY_F (sal_uInt16(css::awt::Key::F))
|
|
|
|
#define KEY_G (sal_uInt16(css::awt::Key::G))
|
|
|
|
#define KEY_H (sal_uInt16(css::awt::Key::H))
|
|
|
|
#define KEY_I (sal_uInt16(css::awt::Key::I))
|
|
|
|
#define KEY_J (sal_uInt16(css::awt::Key::J))
|
|
|
|
#define KEY_K (sal_uInt16(css::awt::Key::K))
|
|
|
|
#define KEY_L (sal_uInt16(css::awt::Key::L))
|
|
|
|
#define KEY_M (sal_uInt16(css::awt::Key::M))
|
|
|
|
#define KEY_N (sal_uInt16(css::awt::Key::N))
|
|
|
|
#define KEY_O (sal_uInt16(css::awt::Key::O))
|
|
|
|
#define KEY_P (sal_uInt16(css::awt::Key::P))
|
|
|
|
#define KEY_Q (sal_uInt16(css::awt::Key::Q))
|
|
|
|
#define KEY_R (sal_uInt16(css::awt::Key::R))
|
|
|
|
#define KEY_S (sal_uInt16(css::awt::Key::S))
|
|
|
|
#define KEY_T (sal_uInt16(css::awt::Key::T))
|
|
|
|
#define KEY_U (sal_uInt16(css::awt::Key::U))
|
|
|
|
#define KEY_V (sal_uInt16(css::awt::Key::V))
|
|
|
|
#define KEY_W (sal_uInt16(css::awt::Key::W))
|
|
|
|
#define KEY_X (sal_uInt16(css::awt::Key::X))
|
|
|
|
#define KEY_Y (sal_uInt16(css::awt::Key::Y))
|
|
|
|
#define KEY_Z (sal_uInt16(css::awt::Key::Z))
|
|
|
|
|
|
|
|
#define KEY_F1 (sal_uInt16(css::awt::Key::F1))
|
|
|
|
#define KEY_F2 (sal_uInt16(css::awt::Key::F2))
|
|
|
|
#define KEY_F3 (sal_uInt16(css::awt::Key::F3))
|
|
|
|
#define KEY_F4 (sal_uInt16(css::awt::Key::F4))
|
|
|
|
#define KEY_F5 (sal_uInt16(css::awt::Key::F5))
|
|
|
|
#define KEY_F6 (sal_uInt16(css::awt::Key::F6))
|
|
|
|
#define KEY_F7 (sal_uInt16(css::awt::Key::F7))
|
|
|
|
#define KEY_F8 (sal_uInt16(css::awt::Key::F8))
|
|
|
|
#define KEY_F9 (sal_uInt16(css::awt::Key::F9))
|
|
|
|
#define KEY_F10 (sal_uInt16(css::awt::Key::F10))
|
|
|
|
#define KEY_F11 (sal_uInt16(css::awt::Key::F11))
|
|
|
|
#define KEY_F12 (sal_uInt16(css::awt::Key::F12))
|
|
|
|
#define KEY_F13 (sal_uInt16(css::awt::Key::F13))
|
|
|
|
#define KEY_F14 (sal_uInt16(css::awt::Key::F14))
|
|
|
|
#define KEY_F15 (sal_uInt16(css::awt::Key::F15))
|
|
|
|
#define KEY_F16 (sal_uInt16(css::awt::Key::F16))
|
|
|
|
#define KEY_F17 (sal_uInt16(css::awt::Key::F17))
|
2018-01-19 17:45:53 +01:00
|
|
|
#define KEY_F18 (sal_uInt16(css::awt::Key::F18))
|
2018-01-12 20:10:40 +01:00
|
|
|
#define KEY_F19 (sal_uInt16(css::awt::Key::F19))
|
2018-01-19 17:45:53 +01:00
|
|
|
#define KEY_F20 (sal_uInt16(css::awt::Key::F20))
|
|
|
|
#define KEY_F21 (sal_uInt16(css::awt::Key::F21))
|
|
|
|
#define KEY_F22 (sal_uInt16(css::awt::Key::F22))
|
|
|
|
#define KEY_F23 (sal_uInt16(css::awt::Key::F23))
|
2018-01-12 20:10:40 +01:00
|
|
|
#define KEY_F24 (sal_uInt16(css::awt::Key::F24))
|
2018-01-19 17:45:53 +01:00
|
|
|
#define KEY_F25 (sal_uInt16(css::awt::Key::F25))
|
2018-01-12 20:10:40 +01:00
|
|
|
#define KEY_F26 (sal_uInt16(css::awt::Key::F26))
|
|
|
|
|
|
|
|
#define KEY_DOWN (sal_uInt16(css::awt::Key::DOWN))
|
|
|
|
#define KEY_UP (sal_uInt16(css::awt::Key::UP))
|
|
|
|
#define KEY_LEFT (sal_uInt16(css::awt::Key::LEFT))
|
|
|
|
#define KEY_RIGHT (sal_uInt16(css::awt::Key::RIGHT))
|
|
|
|
#define KEY_HOME (sal_uInt16(css::awt::Key::HOME))
|
|
|
|
#define KEY_END (sal_uInt16(css::awt::Key::END))
|
|
|
|
#define KEY_PAGEUP (sal_uInt16(css::awt::Key::PAGEUP))
|
|
|
|
#define KEY_PAGEDOWN (sal_uInt16(css::awt::Key::PAGEDOWN))
|
|
|
|
|
|
|
|
#define KEY_RETURN (sal_uInt16(css::awt::Key::RETURN))
|
|
|
|
#define KEY_ESCAPE (sal_uInt16(css::awt::Key::ESCAPE))
|
|
|
|
#define KEY_TAB (sal_uInt16(css::awt::Key::TAB))
|
|
|
|
#define KEY_BACKSPACE (sal_uInt16(css::awt::Key::BACKSPACE))
|
|
|
|
#define KEY_SPACE (sal_uInt16(css::awt::Key::SPACE))
|
|
|
|
#define KEY_INSERT (sal_uInt16(css::awt::Key::INSERT))
|
|
|
|
#define KEY_DELETE (sal_uInt16(css::awt::Key::DELETE))
|
|
|
|
|
|
|
|
#define KEY_ADD (sal_uInt16(css::awt::Key::ADD))
|
|
|
|
#define KEY_SUBTRACT (sal_uInt16(css::awt::Key::SUBTRACT))
|
|
|
|
#define KEY_MULTIPLY (sal_uInt16(css::awt::Key::MULTIPLY))
|
|
|
|
#define KEY_DIVIDE (sal_uInt16(css::awt::Key::DIVIDE))
|
|
|
|
#define KEY_POINT (sal_uInt16(css::awt::Key::POINT))
|
|
|
|
#define KEY_COMMA (sal_uInt16(css::awt::Key::COMMA))
|
|
|
|
#define KEY_LESS (sal_uInt16(css::awt::Key::LESS))
|
|
|
|
#define KEY_GREATER (sal_uInt16(css::awt::Key::GREATER))
|
|
|
|
#define KEY_EQUAL (sal_uInt16(css::awt::Key::EQUAL))
|
|
|
|
|
|
|
|
#define KEY_OPEN (sal_uInt16(css::awt::Key::OPEN))
|
|
|
|
#define KEY_CUT (sal_uInt16(css::awt::Key::CUT))
|
|
|
|
#define KEY_COPY (sal_uInt16(css::awt::Key::COPY))
|
|
|
|
#define KEY_PASTE (sal_uInt16(css::awt::Key::PASTE))
|
|
|
|
#define KEY_UNDO (sal_uInt16(css::awt::Key::UNDO))
|
|
|
|
#define KEY_REPEAT (sal_uInt16(css::awt::Key::REPEAT))
|
|
|
|
#define KEY_FIND (sal_uInt16(css::awt::Key::FIND))
|
|
|
|
#define KEY_PROPERTIES (sal_uInt16(css::awt::Key::PROPERTIES))
|
|
|
|
#define KEY_FRONT (sal_uInt16(css::awt::Key::FRONT))
|
|
|
|
#define KEY_CONTEXTMENU (sal_uInt16(css::awt::Key::CONTEXTMENU))
|
|
|
|
#define KEY_MENU (sal_uInt16(css::awt::Key::MENU))
|
|
|
|
#define KEY_HELP (sal_uInt16(css::awt::Key::HELP))
|
|
|
|
#define KEY_HANGUL_HANJA (sal_uInt16(css::awt::Key::HANGUL_HANJA))
|
|
|
|
#define KEY_DECIMAL (sal_uInt16(css::awt::Key::DECIMAL))
|
|
|
|
#define KEY_TILDE (sal_uInt16(css::awt::Key::TILDE))
|
|
|
|
#define KEY_QUOTELEFT (sal_uInt16(css::awt::Key::QUOTELEFT))
|
|
|
|
#define KEY_BRACKETLEFT (sal_uInt16(css::awt::Key::BRACKETLEFT))
|
|
|
|
#define KEY_BRACKETRIGHT (sal_uInt16(css::awt::Key::BRACKETRIGHT))
|
|
|
|
#define KEY_SEMICOLON (sal_uInt16(css::awt::Key::SEMICOLON))
|
|
|
|
#define KEY_QUOTERIGHT (sal_uInt16(css::awt::Key::QUOTERIGHT))
|
|
|
|
|
|
|
|
#define KEY_CAPSLOCK (sal_uInt16(css::awt::Key::CAPSLOCK))
|
|
|
|
#define KEY_NUMLOCK (sal_uInt16(css::awt::Key::NUMLOCK))
|
|
|
|
#define KEY_SCROLLLOCK (sal_uInt16(css::awt::Key::SCROLLLOCK))
|
2010-09-29 15:46:40 +08:00
|
|
|
|
2007-04-11 16:59:01 +00:00
|
|
|
// extended Modifier-Keys (only used for modkey events)
|
2016-11-24 12:07:47 +02:00
|
|
|
enum class ModKeyFlags {
|
|
|
|
NONE = 0x0000,
|
|
|
|
LeftShift = 0x0001,
|
|
|
|
RightShift = 0x0002,
|
|
|
|
LeftMod1 = 0x0004,
|
|
|
|
RightMod1 = 0x0008,
|
|
|
|
LeftMod2 = 0x0010,
|
|
|
|
RightMod2 = 0x0020,
|
|
|
|
LeftMod3 = 0x0040,
|
|
|
|
RightMod3 = 0x0080,
|
|
|
|
Mod1Msk = LeftMod1 | RightMod1, // should be Mod1Mask, but that conflicts with a X.h macro grrrr
|
|
|
|
Mod2Msk = LeftMod2 | RightMod2,
|
|
|
|
};
|
|
|
|
namespace o3tl {
|
|
|
|
template<> struct typed_flags<ModKeyFlags> : is_typed_flags<ModKeyFlags, 0x00ff> {};
|
|
|
|
}
|
2007-04-11 16:59:01 +00:00
|
|
|
|
2014-12-31 18:39:32 +02:00
|
|
|
enum class KeyIndicatorState {
|
|
|
|
NONE = 0x0000,
|
|
|
|
CAPSLOCK = 0x0001,
|
|
|
|
NUMLOCK = 0x0002,
|
|
|
|
SCROLLLOCK = 0x0004
|
|
|
|
};
|
|
|
|
namespace o3tl
|
|
|
|
{
|
|
|
|
template<> struct typed_flags<KeyIndicatorState> : is_typed_flags<KeyIndicatorState, 0x0007> {};
|
|
|
|
}
|
2010-09-29 16:21:04 -04:00
|
|
|
|
2013-10-23 19:10:20 +02:00
|
|
|
#endif // INCLUDED_VCL_KEYCODES_HXX
|
2010-10-14 08:27:31 +02:00
|
|
|
|
|
|
|
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|