载入中...
搜索中...
未找到
Keyboard.h
浏览该文件的文档.
1#pragma once
2
3#include "common/Export.h"
4#include "common/Module.h"
5
6#include <string>
7#include <vector>
8
9namespace eve::keyboard {
10
16public:
18
20 virtual ~Keyboard();
21
23 virtual void setKeyRepeat(bool enable) = 0;
25 virtual bool hasKeyRepeat() const = 0;
26
28 virtual bool isDown(const std::string& key) const = 0;
30 virtual bool isDown(const std::vector<std::string>& keys) const = 0;
31
33 virtual bool isScancodeDown(const std::string& scancode) const = 0;
35 virtual bool isScancodeDown(const std::vector<std::string>& scancodes) const = 0;
36
38 virtual std::string getKeyFromScancode(const std::string& scancode) const = 0;
40 virtual std::string getScancodeFromKey(const std::string& key) const = 0;
41
43 virtual void setTextInput(bool enable) = 0;
45 virtual void setTextInput(bool enable, double x, double y, double w, double h) = 0;
47 virtual bool hasTextInput() const = 0;
49 virtual bool hasScreenKeyboard() const = 0;
50};
51
52} // namespace eve::keyboard
float w
Definition AnimClip.cpp:738
float y
Definition AnimClip.cpp:738
float x
Definition AnimClip.cpp:738
#define EVENGINE_API_BACKENDS
Definition Export.h:108
std::uint32_t key
int h
EVENGINE_API_FOUNDATION public API.
Definition Module.h:46
Keyboard input. Key / scancode names follow SDL naming (SDL_GetKeyName / SDL_GetScancodeName),...
Definition Keyboard.h:15
virtual std::string getKeyFromScancode(const std::string &scancode) const =0
Layout-aware key name for a physical scancode (SDL names).
virtual bool isScancodeDown(const std::vector< std::string > &scancodes) const =0
True if any scancode in the list is currently down.
virtual bool hasTextInput() const =0
True while text-input / IME is active.
virtual bool hasKeyRepeat() const =0
True when key-repeat events are enabled.
virtual bool isDown(const std::vector< std::string > &keys) const =0
True if any key in the list is currently down.
virtual void setTextInput(bool enable)=0
Enables or disables text-input / IME composition.
virtual void setKeyRepeat(bool enable)=0
Whether held keys emit repeated keypressed events.
virtual void setTextInput(bool enable, double x, double y, double w, double h)=0
Hint where text appears so on-screen keyboards avoid covering it (pixel coords).
virtual bool isDown(const std::string &key) const =0
True if any of the named keys is currently down.
virtual bool hasScreenKeyboard() const =0
True when the platform exposes an on-screen keyboard.
virtual bool isScancodeDown(const std::string &scancode) const =0
True if any of the named physical scancodes is currently down.
virtual std::string getScancodeFromKey(const std::string &key) const =0
Physical scancode name for a layout-aware key (SDL names).