Revert "Added Keyboard API templates"
This reverts commit 0f72656a8a.
If not the right types are used (for example int) this adds some overhead.
Nice to have, but better keep it simple
This commit is contained in:
parent
8adfcacfa9
commit
faa33e6a18
2 changed files with 77 additions and 19 deletions
|
|
@ -47,17 +47,17 @@ public:
|
|||
inline void begin(void);
|
||||
inline void end(void);
|
||||
|
||||
inline size_t write(uint8_t k);
|
||||
inline size_t write(KeyboardKeycode k);
|
||||
inline size_t write(KeyboardModifier k);
|
||||
|
||||
template<class TYPE>
|
||||
inline size_t write(TYPE k);
|
||||
inline virtual size_t write(uint8_t k) override;
|
||||
inline size_t press(uint8_t k);
|
||||
inline size_t press(KeyboardKeycode k);
|
||||
inline size_t press(KeyboardModifier k);
|
||||
|
||||
|
||||
template<class TYPE>
|
||||
inline size_t press(TYPE k);
|
||||
|
||||
template<class TYPE>
|
||||
inline size_t release(TYPE k);
|
||||
inline size_t release(uint8_t k);
|
||||
inline size_t release(KeyboardKeycode k);
|
||||
inline size_t release(KeyboardModifier k);
|
||||
|
||||
inline size_t add(uint8_t k);
|
||||
inline size_t add(KeyboardKeycode k);
|
||||
|
|
|
|||
|
|
@ -36,8 +36,8 @@ void KeyboardAPI::end(void)
|
|||
}
|
||||
|
||||
|
||||
template<class TYPE>
|
||||
size_t KeyboardAPI::write(TYPE k)
|
||||
// TODO template??
|
||||
size_t KeyboardAPI::write(uint8_t k)
|
||||
{
|
||||
// Press and release key (if press was successfull)
|
||||
auto ret = press(k);
|
||||
|
|
@ -48,14 +48,29 @@ size_t KeyboardAPI::write(TYPE k)
|
|||
}
|
||||
|
||||
|
||||
size_t KeyboardAPI::write(uint8_t k)
|
||||
size_t KeyboardAPI::write(KeyboardKeycode k)
|
||||
{
|
||||
return write<uint8_t>(k);
|
||||
// Press and release key (if press was successfull)
|
||||
auto ret = press(k);
|
||||
if(ret){
|
||||
release(k);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
template<class TYPE>
|
||||
size_t KeyboardAPI::press(TYPE k)
|
||||
size_t KeyboardAPI::write(KeyboardModifier k)
|
||||
{
|
||||
// Press and release key (if press was successfull)
|
||||
auto ret = press(k);
|
||||
if(ret){
|
||||
release(k);
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
size_t KeyboardAPI::press(uint8_t k)
|
||||
{
|
||||
// Press key and send report to host
|
||||
auto ret = add(k);
|
||||
|
|
@ -66,11 +81,21 @@ size_t KeyboardAPI::press(TYPE k)
|
|||
}
|
||||
|
||||
|
||||
template<class TYPE>
|
||||
size_t KeyboardAPI::release(TYPE k)
|
||||
size_t KeyboardAPI::press(KeyboardKeycode k)
|
||||
{
|
||||
// Release key and send report to host
|
||||
auto ret = remove(k);
|
||||
// Press key and send report to host
|
||||
auto ret = add(k);
|
||||
if(ret){
|
||||
send_now();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
size_t KeyboardAPI::press(KeyboardModifier k)
|
||||
{
|
||||
// Press modifier key and send report to host
|
||||
auto ret = add(k);
|
||||
if(ret){
|
||||
send_now();
|
||||
}
|
||||
|
|
@ -126,6 +151,39 @@ size_t KeyboardAPI::add(KeyboardModifier k)
|
|||
}
|
||||
|
||||
|
||||
size_t KeyboardAPI::release(uint8_t k)
|
||||
{
|
||||
// Release key and send report to host
|
||||
auto ret = remove(k);
|
||||
if(ret){
|
||||
send_now();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
size_t KeyboardAPI::release(KeyboardKeycode k)
|
||||
{
|
||||
// Release key and send report to host
|
||||
auto ret = remove(k);
|
||||
if(ret){
|
||||
send_now();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
size_t KeyboardAPI::release(KeyboardModifier k)
|
||||
{
|
||||
// Release modifier key and send report to host
|
||||
auto ret = remove(k);
|
||||
if(ret){
|
||||
send_now();
|
||||
}
|
||||
return ret;
|
||||
}
|
||||
|
||||
|
||||
size_t KeyboardAPI::remove(uint8_t k)
|
||||
{
|
||||
// Ignore invalid input
|
||||
|
|
|
|||
Loading…
Reference in a new issue