mirror of
https://github.com/SFML/CSFML.git
synced 2026-10-24 21:53:37 +02:00
180 lines
7.0 KiB
C
180 lines
7.0 KiB
C
////////////////////////////////////////////////////////////
|
|
//
|
|
// SFML - Simple and Fast Multimedia Library
|
|
// Copyright (C) 2007-2023 Laurent Gomila (laurent@sfml-dev.org)
|
|
//
|
|
// This software is provided 'as-is', without any express or implied warranty.
|
|
// In no event will the authors be held liable for any damages arising from the use of this software.
|
|
//
|
|
// Permission is granted to anyone to use this software for any purpose,
|
|
// including commercial applications, and to alter it and redistribute it freely,
|
|
// subject to the following restrictions:
|
|
//
|
|
// 1. The origin of this software must not be misrepresented;
|
|
// you must not claim that you wrote the original software.
|
|
// If you use this software in a product, an acknowledgment
|
|
// in the product documentation would be appreciated but is not required.
|
|
//
|
|
// 2. Altered source versions must be plainly marked as such,
|
|
// and must not be misrepresented as being the original software.
|
|
//
|
|
// 3. This notice may not be removed or altered from any source distribution.
|
|
//
|
|
////////////////////////////////////////////////////////////
|
|
|
|
#ifndef SFML_KEYBOARD_H
|
|
#define SFML_KEYBOARD_H
|
|
|
|
////////////////////////////////////////////////////////////
|
|
// Headers
|
|
////////////////////////////////////////////////////////////
|
|
#include <SFML/Window/Export.h>
|
|
|
|
|
|
////////////////////////////////////////////////////////////
|
|
/// \brief Key codes
|
|
///
|
|
////////////////////////////////////////////////////////////
|
|
typedef enum
|
|
{
|
|
sfKeyUnknown = -1, ///< Unhandled key
|
|
sfKeyA, ///< The A key
|
|
sfKeyB, ///< The B key
|
|
sfKeyC, ///< The C key
|
|
sfKeyD, ///< The D key
|
|
sfKeyE, ///< The E key
|
|
sfKeyF, ///< The F key
|
|
sfKeyG, ///< The G key
|
|
sfKeyH, ///< The H key
|
|
sfKeyI, ///< The I key
|
|
sfKeyJ, ///< The J key
|
|
sfKeyK, ///< The K key
|
|
sfKeyL, ///< The L key
|
|
sfKeyM, ///< The M key
|
|
sfKeyN, ///< The N key
|
|
sfKeyO, ///< The O key
|
|
sfKeyP, ///< The P key
|
|
sfKeyQ, ///< The Q key
|
|
sfKeyR, ///< The R key
|
|
sfKeyS, ///< The S key
|
|
sfKeyT, ///< The T key
|
|
sfKeyU, ///< The U key
|
|
sfKeyV, ///< The V key
|
|
sfKeyW, ///< The W key
|
|
sfKeyX, ///< The X key
|
|
sfKeyY, ///< The Y key
|
|
sfKeyZ, ///< The Z key
|
|
sfKeyNum0, ///< The 0 key
|
|
sfKeyNum1, ///< The 1 key
|
|
sfKeyNum2, ///< The 2 key
|
|
sfKeyNum3, ///< The 3 key
|
|
sfKeyNum4, ///< The 4 key
|
|
sfKeyNum5, ///< The 5 key
|
|
sfKeyNum6, ///< The 6 key
|
|
sfKeyNum7, ///< The 7 key
|
|
sfKeyNum8, ///< The 8 key
|
|
sfKeyNum9, ///< The 9 key
|
|
sfKeyEscape, ///< The Escape key
|
|
sfKeyLControl, ///< The left Control key
|
|
sfKeyLShift, ///< The left Shift key
|
|
sfKeyLAlt, ///< The left Alt key
|
|
sfKeyLSystem, ///< The left OS specific key: window (Windows and Linux), apple (MacOS X), ...
|
|
sfKeyRControl, ///< The right Control key
|
|
sfKeyRShift, ///< The right Shift key
|
|
sfKeyRAlt, ///< The right Alt key
|
|
sfKeyRSystem, ///< The right OS specific key: window (Windows and Linux), apple (MacOS X), ...
|
|
sfKeyMenu, ///< The Menu key
|
|
sfKeyLBracket, ///< The [ key
|
|
sfKeyRBracket, ///< The ] key
|
|
sfKeySemicolon, ///< The ; key
|
|
sfKeyComma, ///< The , key
|
|
sfKeyPeriod, ///< The . key
|
|
sfKeyQuote, ///< The ' key
|
|
sfKeySlash, ///< The / key
|
|
sfKeyBackslash, ///< The \ key
|
|
sfKeyTilde, ///< The ~ key
|
|
sfKeyEqual, ///< The = key
|
|
sfKeyHyphen, ///< The - key (hyphen)
|
|
sfKeySpace, ///< The Space key
|
|
sfKeyEnter, ///< The Enter/Return key
|
|
sfKeyBackspace, ///< The Backspace key
|
|
sfKeyTab, ///< The Tabulation key
|
|
sfKeyPageUp, ///< The Page up key
|
|
sfKeyPageDown, ///< The Page down key
|
|
sfKeyEnd, ///< The End key
|
|
sfKeyHome, ///< The Home key
|
|
sfKeyInsert, ///< The Insert key
|
|
sfKeyDelete, ///< The Delete key
|
|
sfKeyAdd, ///< The + key
|
|
sfKeySubtract, ///< The - key (minus, usually from numpad)
|
|
sfKeyMultiply, ///< The * key
|
|
sfKeyDivide, ///< The / key
|
|
sfKeyLeft, ///< Left arrow
|
|
sfKeyRight, ///< Right arrow
|
|
sfKeyUp, ///< Up arrow
|
|
sfKeyDown, ///< Down arrow
|
|
sfKeyNumpad0, ///< The numpad 0 key
|
|
sfKeyNumpad1, ///< The numpad 1 key
|
|
sfKeyNumpad2, ///< The numpad 2 key
|
|
sfKeyNumpad3, ///< The numpad 3 key
|
|
sfKeyNumpad4, ///< The numpad 4 key
|
|
sfKeyNumpad5, ///< The numpad 5 key
|
|
sfKeyNumpad6, ///< The numpad 6 key
|
|
sfKeyNumpad7, ///< The numpad 7 key
|
|
sfKeyNumpad8, ///< The numpad 8 key
|
|
sfKeyNumpad9, ///< The numpad 9 key
|
|
sfKeyF1, ///< The F1 key
|
|
sfKeyF2, ///< The F2 key
|
|
sfKeyF3, ///< The F3 key
|
|
sfKeyF4, ///< The F4 key
|
|
sfKeyF5, ///< The F5 key
|
|
sfKeyF6, ///< The F6 key
|
|
sfKeyF7, ///< The F7 key
|
|
sfKeyF8, ///< The F8 key
|
|
sfKeyF9, ///< The F8 key
|
|
sfKeyF10, ///< The F10 key
|
|
sfKeyF11, ///< The F11 key
|
|
sfKeyF12, ///< The F12 key
|
|
sfKeyF13, ///< The F13 key
|
|
sfKeyF14, ///< The F14 key
|
|
sfKeyF15, ///< The F15 key
|
|
sfKeyPause, ///< The Pause key
|
|
|
|
sfKeyCount, ///< Keep last -- the total number of keyboard keys
|
|
|
|
// Deprecated values:
|
|
|
|
sfKeyDash = sfKeyHyphen, ///< \deprecated Use Hyphen instead
|
|
sfKeyBack = sfKeyBackspace, ///< \deprecated Use Backspace instead
|
|
sfKeyBackSlash = sfKeyBackslash, ///< \deprecated Use Backslash instead
|
|
sfKeySemiColon = sfKeySemicolon, ///< \deprecated Use Semicolon instead
|
|
sfKeyReturn = sfKeyEnter ///< \deprecated Use Enter instead
|
|
} sfKeyCode;
|
|
|
|
|
|
////////////////////////////////////////////////////////////
|
|
/// \brief Check if a key is pressed
|
|
///
|
|
/// \param key Key to check
|
|
///
|
|
/// \return sfTrue if the key is pressed, sfFalse otherwise
|
|
///
|
|
////////////////////////////////////////////////////////////
|
|
CSFML_WINDOW_API sfBool sfKeyboard_isKeyPressed(sfKeyCode key);
|
|
|
|
////////////////////////////////////////////////////////////
|
|
/// \brief Show or hide the virtual keyboard.
|
|
///
|
|
/// Warning: the virtual keyboard is not supported on all systems.
|
|
/// It will typically be implemented on mobile OSes (Android, iOS)
|
|
/// but not on desktop OSes (Windows, Linux, ...).
|
|
///
|
|
/// If the virtual keyboard is not available, this function does nothing.
|
|
///
|
|
/// \param visible True to show, false to hide
|
|
///
|
|
////////////////////////////////////////////////////////////
|
|
CSFML_WINDOW_API void sfKeyboard_setVirtualKeyboardVisible(sfBool visible);
|
|
|
|
#endif // SFML_KEYBOARD_H
|