26#ifndef TGUI_KEYBOARD_HPP
27#define TGUI_KEYBOARD_HPP
31#include <TGUI/Config.hpp>
32#include <SFML/Window/Event.hpp>
33#include <SFML/Window/Keyboard.hpp>
43 inline bool isShiftPressed()
45 return sf::Keyboard::isKeyPressed(sf::Keyboard::LShift) || sf::Keyboard::isKeyPressed(sf::Keyboard::RShift);
50 inline bool isMultiselectModifierPressed()
52#ifdef TGUI_SYSTEM_MACOS
53 return sf::Keyboard::isKeyPressed(sf::Keyboard::LSystem) || sf::Keyboard::isKeyPressed(sf::Keyboard::RSystem);
55 return sf::Keyboard::isKeyPressed(sf::Keyboard::LControl) || sf::Keyboard::isKeyPressed(sf::Keyboard::RControl);
61 inline bool isKeyPressCopy(
const sf::Event::KeyEvent& event)
63#ifdef TGUI_SYSTEM_MACOS
64 return (event.code == sf::Keyboard::Key::C) && !
event.control && !
event.alt && !
event.shift &&
event.system;
66 return (event.code == sf::Keyboard::Key::C) &&
event.control && !
event.alt && !
event.shift && !
event.system;
72 inline bool isKeyPressCut(
const sf::Event::KeyEvent& event)
74#ifdef TGUI_SYSTEM_MACOS
75 return (event.code == sf::Keyboard::Key::X) && !
event.control && !
event.alt && !
event.shift &&
event.system;
77 return (event.code == sf::Keyboard::Key::X) &&
event.control && !
event.alt && !
event.shift && !
event.system;
83 inline bool isKeyPressPaste(
const sf::Event::KeyEvent& event)
85#ifdef TGUI_SYSTEM_MACOS
86 return (event.code == sf::Keyboard::Key::V) && !
event.control && !
event.alt && !
event.shift &&
event.system;
88 return (event.code == sf::Keyboard::Key::V) &&
event.control && !
event.alt && !
event.shift && !
event.system;
94 inline bool isKeyPressSelectAll(
const sf::Event::KeyEvent& event)
96#ifdef TGUI_SYSTEM_MACOS
97 return (event.code == sf::Keyboard::Key::A) && !
event.control && !
event.alt && !
event.shift &&
event.system;
99 return (event.code == sf::Keyboard::Key::A) &&
event.control && !
event.alt && !
event.shift && !
event.system;
105 inline bool isKeyPressMoveCaretLeft(
const sf::Event::KeyEvent& event)
107 return (event.code == sf::Keyboard::Key::Left) && !
event.control && !
event.alt && !
event.system;
112 inline bool isKeyPressMoveCaretRight(
const sf::Event::KeyEvent& event)
114 return (event.code == sf::Keyboard::Key::Right) && !
event.control && !
event.alt && !
event.system;
119 inline bool isKeyPressMoveCaretWordBegin(
const sf::Event::KeyEvent& event)
121#ifdef TGUI_SYSTEM_MACOS
122 return (event.code == sf::Keyboard::Key::Left) && !
event.control &&
event.alt && !
event.system;
124 return (event.code == sf::Keyboard::Key::Left) &&
event.control && !
event.alt && !
event.system;
130 inline bool isKeyPressMoveCaretWordEnd(
const sf::Event::KeyEvent& event)
132#ifdef TGUI_SYSTEM_MACOS
133 return (event.code == sf::Keyboard::Key::Right) && !
event.control &&
event.alt && !
event.system;
135 return (event.code == sf::Keyboard::Key::Right) &&
event.control && !
event.alt && !
event.system;
141 inline bool isKeyPressMoveCaretUp(
const sf::Event::KeyEvent& event)
143#ifdef TGUI_SYSTEM_MACOS
145 return (event.code == sf::Keyboard::Key::Up) && !
event.control && !
event.system;
147 return (event.code == sf::Keyboard::Key::Up) && !
event.alt && !
event.system;
153 inline bool isKeyPressMoveCaretDown(
const sf::Event::KeyEvent& event)
155#ifdef TGUI_SYSTEM_MACOS
157 return (event.code == sf::Keyboard::Key::Down) && !
event.control && !
event.system;
159 return (event.code == sf::Keyboard::Key::Down) && !
event.alt && !
event.system;
165 inline bool isKeyPressMoveCaretLineStart(
const sf::Event::KeyEvent& event)
167#ifdef TGUI_SYSTEM_MACOS
168 if ((event.code == sf::Keyboard::Key::Left) && !event.control && !event.alt && event.system)
171 return (event.code == sf::Keyboard::Key::Home) && !
event.control && !
event.alt && !
event.system;
176 inline bool isKeyPressMoveCaretLineEnd(
const sf::Event::KeyEvent& event)
178#ifdef TGUI_SYSTEM_MACOS
179 if ((event.code == sf::Keyboard::Key::Right) && !event.control && !event.alt && event.system)
182 return (event.code == sf::Keyboard::Key::End) && !
event.control && !
event.alt && !
event.system;
187 inline bool isKeyPressMoveCaretDocumentBegin(
const sf::Event::KeyEvent& event)
189#ifdef TGUI_SYSTEM_MACOS
190 return ((event.code == sf::Keyboard::Key::Up) && !event.control && !event.alt && event.system)
191 || ((
event.code == sf::Keyboard::Key::Home) && !event.control && !event.alt && event.system);
193 return (event.code == sf::Keyboard::Key::Home) &&
event.control && !
event.alt && !
event.system;
199 inline bool isKeyPressMoveCaretDocumentEnd(
const sf::Event::KeyEvent& event)
201#ifdef TGUI_SYSTEM_MACOS
202 return ((event.code == sf::Keyboard::Key::Down) && !event.control && !event.alt && event.system)
203 || ((
event.code == sf::Keyboard::Key::End) && !event.control && !event.alt && event.system);
205 return (event.code == sf::Keyboard::Key::End) &&
event.control && !
event.alt && !
event.system;
Namespace that contains all TGUI functions and classes.
Definition: AbsoluteOrRelativeValue.hpp:37