@kduma-autoid/capacitor-sunmi-keyboard-handler v1.0.1
@kduma-autoid/capacitor-sunmi-keyboard-handler
Handler for processing input from Sunmi hardware barcode scanners (builtin and external) and external Sunmi programmable keyboard.
Install
npm install @kduma-autoid/capacitor-sunmi-keyboard-handler
npx cap sync
Modify your MainActivity.java
file to include the following:
package com.example.plugin;
import android.view.KeyEvent;
import com.getcapacitor.BridgeActivity;
import dev.duma.capacitor.sunmikeyboardhandler.HasKeyHandlersInterface;
import dev.duma.capacitor.sunmikeyboardhandler.KeyHandlerInterface;
public class MainActivity extends BridgeActivity implements HasKeyHandlersInterface {
private KeyHandlerInterface keyHandler = null;
public KeyHandlerInterface getKeyHandler() {
return keyHandler;
}
public void setKeyHandler(KeyHandlerInterface keyHandler) {
this.keyHandler = keyHandler;
}
@Override
public boolean dispatchKeyEvent(KeyEvent event) {
KeyHandlerInterface handler = getKeyHandler();
if (handler != null && handler.handle(event)) return true;
return super.dispatchKeyEvent(event);
}
}
API
enableHandler(...)
disableHandler(...)
addListener('onKeyPressed', ...)
addListener('onBarcodeScanned', ...)
addListener('onDebug', ...)
addListener('onKeyboardInput', ...)
- Interfaces
- Type Aliases
- Enums
enableHandler(...)
enableHandler(options: { key: HandleableKey; }) => Promise<void>
Set a callback to be called when a key specified in key
parameter is pressed.
Param | Type |
---|---|
options | { key: HandleableKey; } |
disableHandler(...)
disableHandler(options: { key: HandleableKey; }) => Promise<void>
Remove a callback set by setKeyHandler
for a key specified in key
parameter.
Param | Type |
---|---|
options | { key: HandleableKey; } |
addListener('onKeyPressed', ...)
addListener(eventName: 'onKeyPressed', listenerFunc: OnKeyPressedCallback) => Promise<PluginListenerHandle> & PluginListenerHandle
Param | Type |
---|---|
eventName | 'onKeyPressed' |
listenerFunc | OnKeyPressedCallback |
Returns: Promise<PluginListenerHandle> & PluginListenerHandle
addListener('onBarcodeScanned', ...)
addListener(eventName: 'onBarcodeScanned', listenerFunc: OnBarcodeScannedCallback) => Promise<PluginListenerHandle> & PluginListenerHandle
Param | Type |
---|---|
eventName | 'onBarcodeScanned' |
listenerFunc | OnBarcodeScannedCallback |
Returns: Promise<PluginListenerHandle> & PluginListenerHandle
addListener('onDebug', ...)
addListener(eventName: 'onDebug', listenerFunc: OnDebugCallback) => Promise<PluginListenerHandle> & PluginListenerHandle
Param | Type |
---|---|
eventName | 'onDebug' |
listenerFunc | OnDebugCallback |
Returns: Promise<PluginListenerHandle> & PluginListenerHandle
addListener('onKeyboardInput', ...)
addListener(eventName: 'onKeyboardInput', listenerFunc: OnKeyboardInputCallback) => Promise<PluginListenerHandle> & PluginListenerHandle
Param | Type |
---|---|
eventName | 'onKeyboardInput' |
listenerFunc | OnKeyboardInputCallback |
Returns: Promise<PluginListenerHandle> & PluginListenerHandle
Interfaces
PluginListenerHandle
Prop | Type |
---|---|
remove | () => Promise<void> |
Type Aliases
OnKeyPressedCallback
(data: { key: HandleableKey; modifiers: ModifierKey[]; type: KeyEvent; }): void
OnBarcodeScannedCallback
(data: { barcode: string; device: { type: string; id: number; }; }): void
OnDebugCallback
(data: any): void
OnKeyboardInputCallback
(data: { groupKey: HandleableKey; key: HandleableKey; value: string; isWhiteChar: boolean; }): void
Enums
HandleableKey
Members | Value | Description |
---|---|---|
Sunmi89KeyKeyboard_KeyPad | "89_KEYPAD" | |
Sunmi89KeyKeyboard_NumPad | "89_NUMPAD" | |
L2Ks_KeyPad | "L2KS_KEYPAD" | |
L2K_KeyPad | "L2K_KEYPAD" | |
Sunmi89KeyKeyboard_Esc | "89_ESC" | |
Sunmi89KeyKeyboard_F1 | "89_F1" | |
Sunmi89KeyKeyboard_F2 | "89_F2" | |
Sunmi89KeyKeyboard_F3 | "89_F3" | |
Sunmi89KeyKeyboard_F4 | "89_F4" | |
Sunmi89KeyKeyboard_F5 | "89_F5" | |
Sunmi89KeyKeyboard_F6 | "89_F6" | |
Sunmi89KeyKeyboard_F7 | "89_F7" | |
Sunmi89KeyKeyboard_F8 | "89_F8" | |
Sunmi89KeyKeyboard_F9 | "89_F9" | |
Sunmi89KeyKeyboard_F10 | "89_F10" | |
Sunmi89KeyKeyboard_Delete | "89_DELETE" | |
Sunmi89KeyKeyboard_Home | "89_HOME" | |
Sunmi89KeyKeyboard_End | "89_END" | |
Sunmi89KeyKeyboard_PgUp | "89_PGUP" | |
Sunmi89KeyKeyboard_PgDn | "89_PGDN" | |
Sunmi89KeyKeyboard_Cash | "89_CASH" | |
L2Ks_F1 | "L2KS_F1" | |
L2Ks_F2 | "L2KS_F2" | |
L2Ks_F3 | "L2KS_F3" | |
L2Ks_F4 | "L2KS_F4" | |
L2Ks_F5 | "L2KS_F5" | |
L2Ks_F6 | "L2KS_F6" | |
L2Ks_F7 | "L2KS_F7" | |
L2Ks_F8 | "L2KS_F8" | |
L2Ks_F9 | "L2KS_F9" | |
L2Ks_BACK | "L2KS_BACK" | |
L2Ks_ENTER | "L2KS_ENTER" | |
L2Ks_STAR | "L2KS_STAR" | |
L2Ks_SPACE | "L2KS_SPACE" | |
L2Ks_POUND | "L2KS_POUND" | |
L2Ks_DEL | "L2KS_DEL" | |
L2Ks_UP | "L2KS_UP" | |
L2Ks_DOWN | "L2KS_DOWN" | |
L2Ks_LEFT | "L2KS_LEFT" | |
L2Ks_RIGHT | "L2KS_RIGHT" | |
L2Ks_1 | "L2KS_1" | |
L2Ks_2 | "L2KS_2" | |
L2Ks_3 | "L2KS_3" | |
L2Ks_4 | "L2KS_4" | |
L2Ks_5 | "L2KS_5" | |
L2Ks_6 | "L2KS_6" | |
L2Ks_7 | "L2KS_7" | |
L2Ks_8 | "L2KS_8" | |
L2Ks_9 | "L2KS_9" | |
L2Ks_0 | "L2KS_0" | |
L2Ks_PERIOD | "L2KS_PERIOD" | |
L2K_TAB | "L2K_TAB" | |
L2K_ENTER | "L2K_ENTER" | |
L2K_P1 | "L2K_P1" | |
L2K_1 | "L2K_1" | |
L2K_2 | "L2K_2" | |
L2K_3 | "L2K_3" | |
L2K_4 | "L2K_4" | |
L2K_5 | "L2K_5" | |
L2K_6 | "L2K_6" | |
L2K_7 | "L2K_7" | |
L2K_8 | "L2K_8" | |
L2K_9 | "L2K_9" | |
L2K_0 | "L2K_0" | |
L2K_PERIOD | "L2K_PERIOD" | |
L2K_SPACE | "L2K_SPACE" | |
L2K_MINUS | "L2K_MINUS" | |
L2K_DEL | "L2K_DEL" | |
L2K_UP | "L2K_UP" | |
L2K_DOWN | "L2K_DOWN" | |
L2K_LEFT | "L2K_LEFT" | |
L2K_RIGHT | "L2K_RIGHT" | |
L2K_CENTER | "L2K_CENTER" | |
L2s_Shortcut | "L2S_SHORTCUT" | |
L2K_Shortcut | "L2K_SHORTCUT" | |
L2Ks_Shortcut | "L2KS_SHORTCUT" | Defaultly is assigned to turning on/off the screen. To use it as a shortcut key, you need to remap it to "system action" in "custom keys" settings panel. |
RFID | "RFID" | |
Barcode_Any | "BARCODE" | |
Barcode_BuiltIn | "BARCODE_BUILTIN" | |
Barcode_Handheld | "BARCODE_HANDHELD" | |
Barcode_Blink | "BARCODE_BLINK" | |
Debug | "DEBUG" | |
Sunmi89KeyKeyboard_Grave | "89_GRAVE" | |
Sunmi89KeyKeyboard_Tab | "89_TAB" | |
Sunmi89KeyKeyboard_Slash | "89_SLASH" | |
Sunmi89KeyKeyboard_Space | "89_SPACE" | |
Sunmi89KeyKeyboard_Apostrophe | "89_APOSTROPHE" | |
Sunmi89KeyKeyboard_Left | "89_LEFT" | |
Sunmi89KeyKeyboard_Down | "89_DOWN" | |
Sunmi89KeyKeyboard_Right | "89_RIGHT" | |
Sunmi89KeyKeyboard_Up | "89_UP" | |
Sunmi89KeyKeyboard_Period | "89_PERIOD" | |
Sunmi89KeyKeyboard_Comma | "89_COMMA" | |
Sunmi89KeyKeyboard_BackSlash | "89_BACKSLASH" | |
Sunmi89KeyKeyboard_Enter | "89_ENTER" | |
Sunmi89KeyKeyboard_Del | "89_DEL" | |
Sunmi89KeyKeyboard_Minus | "89_MINUS" | |
Sunmi89KeyKeyboard_Equals | "89_EQUALS" | |
Sunmi89KeyKeyboard_RightBracket | "89_RIGHT_BRACKET" | |
Sunmi89KeyKeyboard_LeftBracket | "89_LEFT_BRACKET" | |
Sunmi89KeyKeyboard_Semicolon | "89_SEMICOLON" | |
Sunmi89KeyKeyboard_1 | "89_1" | |
Sunmi89KeyKeyboard_2 | "89_2" | |
Sunmi89KeyKeyboard_3 | "89_3" | |
Sunmi89KeyKeyboard_4 | "89_4" | |
Sunmi89KeyKeyboard_5 | "89_5" | |
Sunmi89KeyKeyboard_6 | "89_6" | |
Sunmi89KeyKeyboard_7 | "89_7" | |
Sunmi89KeyKeyboard_8 | "89_8" | |
Sunmi89KeyKeyboard_9 | "89_9" | |
Sunmi89KeyKeyboard_0 | "89_0" | |
Sunmi89KeyKeyboard_Q | "89_Q" | |
Sunmi89KeyKeyboard_W | "89_W" | |
Sunmi89KeyKeyboard_E | "89_E" | |
Sunmi89KeyKeyboard_R | "89_R" | |
Sunmi89KeyKeyboard_T | "89_T" | |
Sunmi89KeyKeyboard_Y | "89_Y" | |
Sunmi89KeyKeyboard_U | "89_U" | |
Sunmi89KeyKeyboard_I | "89_I" | |
Sunmi89KeyKeyboard_O | "89_O" | |
Sunmi89KeyKeyboard_P | "89_P" | |
Sunmi89KeyKeyboard_A | "89_A" | |
Sunmi89KeyKeyboard_S | "89_S" | |
Sunmi89KeyKeyboard_D | "89_D" | |
Sunmi89KeyKeyboard_F | "89_F" | |
Sunmi89KeyKeyboard_G | "89_G" | |
Sunmi89KeyKeyboard_H | "89_H" | |
Sunmi89KeyKeyboard_J | "89_J" | |
Sunmi89KeyKeyboard_K | "89_K" | |
Sunmi89KeyKeyboard_L | "89_L" | |
Sunmi89KeyKeyboard_Z | "89_Z" | |
Sunmi89KeyKeyboard_X | "89_X" | |
Sunmi89KeyKeyboard_C | "89_C" | |
Sunmi89KeyKeyboard_V | "89_V" | |
Sunmi89KeyKeyboard_B | "89_B" | |
Sunmi89KeyKeyboard_N | "89_N" | |
Sunmi89KeyKeyboard_M | "89_M" | |
Sunmi89KeyKeyboard_NumPad0 | "89_NUMPAD0" | |
Sunmi89KeyKeyboard_NumPad1 | "89_NUMPAD1" | |
Sunmi89KeyKeyboard_NumPad2 | "89_NUMPAD2" | |
Sunmi89KeyKeyboard_NumPad3 | "89_NUMPAD3" | |
Sunmi89KeyKeyboard_NumPad4 | "89_NUMPAD4" | |
Sunmi89KeyKeyboard_NumPad5 | "89_NUMPAD5" | |
Sunmi89KeyKeyboard_NumPad6 | "89_NUMPAD6" | |
Sunmi89KeyKeyboard_NumPad7 | "89_NUMPAD7" | |
Sunmi89KeyKeyboard_NumPad8 | "89_NUMPAD8" | |
Sunmi89KeyKeyboard_NumPad9 | "89_NUMPAD9" | |
Sunmi89KeyKeyboard_NumPadDot | "89_NUMPADDOT" | |
Sunmi89KeyKeyboard_NumPadDivide | "89_NUMPADDIVIDE" | |
Sunmi89KeyKeyboard_NumPadMultiply | "89_NUMPADMULTIPLY" | |
Sunmi89KeyKeyboard_NumPadSubtract | "89_NUMPADSUBTRACT" | |
Sunmi89KeyKeyboard_NumPadAdd | "89_NUMPADADD" | |
Sunmi89KeyKeyboard_NumPadEnter | "89_NUMPADENTER" |
ModifierKey
Members | Value |
---|---|
Alt | "ALT" |
Ctrl | "CTRL" |
Shift | "SHIFT" |
CapsLock | "CAPSLOCK" |
KeyEvent
Members | Value |
---|---|
KeyDown | "KEY_DOWN" |
KeyUp | "KEY_UP" |