@kduma-autoid/capacitor-sunmi-keyboard-handler
TypeScript icon, indicating that this package has built-in type declarations

1.0.1 • Public • Published

@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(...)

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"

Readme

Keywords

Package Sidebar

Install

npm i @kduma-autoid/capacitor-sunmi-keyboard-handler

Weekly Downloads

4

Version

1.0.1

License

MIT

Unpacked Size

230 kB

Total Files

46

Last publish

Collaborators

  • kduma