CDC Badge OS
Firmware for the CDC Badge v1.0 hardware security key
Loading...
Searching...
No Matches
cdc::core::IKeyboardProvider Class Referenceabstract

#include <IKeyboardProvider.h>

Public Member Functions

virtual ~IKeyboardProvider ()=default
virtual bool isConnected () const =0
virtual bool typeString (const char *text, uint16_t delayMs=50)=0
virtual bool typeChar (char c)=0
virtual bool isBusy () const =0
virtual void cancel ()=0
virtual const char * getStatusText () const
virtual bool setDiscoverable (bool on)

Detailed Description

Keyboard Provider Interface

Allows modules (TOTP, Password, etc.) to type text without knowing the implementation details (BLE HID, USB HID, etc.).

Usage pattern: // Consumer (e.g., TOTP module): auto* kb = ServiceRegistry::instance().request<IKeyboardProvider>(ServiceType::KEYBOARD); if (kb && kb->isConnected()) { kb->typeString(totpCode); }

// Provider (e.g. a USB or BLE HID module): ServiceRegistry::instance().provide<IKeyboardProvider>(ServiceType::KEYBOARD, this);

Definition at line 23 of file IKeyboardProvider.h.

Constructor & Destructor Documentation

◆ ~IKeyboardProvider()

virtual cdc::core::IKeyboardProvider::~IKeyboardProvider ( )
virtualdefault

Member Function Documentation

◆ cancel()

virtual void cdc::core::IKeyboardProvider::cancel ( )
pure virtual

Cancel current typing operation

◆ getStatusText()

virtual const char * cdc::core::IKeyboardProvider::getStatusText ( ) const
inlinevirtual

Get human-readable connection status for UI

Returns
Status string (e.g., "Connected to MacBook Pro")

Definition at line 63 of file IKeyboardProvider.h.

References isConnected().

◆ isBusy()

virtual bool cdc::core::IKeyboardProvider::isBusy ( ) const
pure virtual

Check if typing operation is in progress

Returns
true if busy typing

◆ isConnected()

virtual bool cdc::core::IKeyboardProvider::isConnected ( ) const
pure virtual

Check if keyboard is connected and ready to type

Returns
true if connected and ready

Referenced by getStatusText().

◆ setDiscoverable()

virtual bool cdc::core::IKeyboardProvider::setDiscoverable ( bool on)
inlinevirtual

Enter or leave a discoverable/pairable state so a host can bond. For BLE providers this enables the stack and starts advertising the input-device profile; for USB providers it is a no-op.

Parameters
ontrue to become discoverable, false to stop
Returns
true if the requested state was applied

Definition at line 72 of file IKeyboardProvider.h.

◆ typeChar()

virtual bool cdc::core::IKeyboardProvider::typeChar ( char c)
pure virtual

Type a single character

Parameters
cCharacter to type
Returns
true if successful

◆ typeString()

virtual bool cdc::core::IKeyboardProvider::typeString ( const char * text,
uint16_t delayMs = 50 )
pure virtual

Type a string (UTF-8 encoded)

Parameters
textText to type (null-terminated)
delayMsDelay between keystrokes in milliseconds (default 50ms)
Returns
true if typing started successfully

The documentation for this class was generated from the following file: