electron-windows-osk-2

    1.0.0 • Public • Published

    Electron Windows OSK

    Windows on-screen keyboard manager for Electron apps.

    This experimental package allows you to show, close, resize and position the built in on-screen Windows keyboard. Take a look at export.js to check out the API.

    This should work in Win 7 and up.

    Short example:

     
    import WindowsOSK from 'electron-windows-osk';
    const OSK = new WindowsOSK(browserWindowInstance);
     
    // Open and position OSK on click in inputs.
    document.addEventListener('click', (event) => {
        if (event.target.tagName === 'INPUT' && event.target.tagName === 'TEXTAREA') {
            const viewportOffset = event.target.getBoundingClientRect();
            const inBrowserYOffset =
                (
                    viewportOffset.top - // Element top offset.
                    window.scrollY       // If the page is scrolled we need to substract the scroll y.
                );
     
            OSK.showFromEvent(inBrowserYOffset, event.target.clientHeight, 5);
            // meteor-desktop: Desktop.send('virtualKeyboard', 'show', inBrowserYOffset, event.target.clientHeight, 5);
        }
    });
     
    // Close the OSK on any other click.
    document.addEventListener('click', (event) => {
        if (event.target.tagName !== 'INPUT' && event.target.tagName !== 'TEXTAREA') {
            OSK.close();
            // meteor-desktop: Desktop.send('virtualKeyboard', 'close');
        }
    });

    Example of meteor-desktop module:

    import WindowsOSK from 'electron-windows-osk';
     
    export default class VirtualKeyboardModule {
        constructor({ log, eventsBus, Module }) {
            this.log = log;
            let virtualKeyboardModule = new Module('virtualKeyboard');
     
            eventsBus.on('windowCreated', (window) => {
                this.window = window;
                console.log(WindowsOSK);
                this.windowsOSK = new WindowsOSK(window);
            });
     
            virtualKeyboardModule.on('show', this.showKeyboard.bind(this));
            virtualKeyboardModule.on('close', this.closeKeyboard.bind(this));
     
            this.windowsOSK = null;
        }
     
        showKeyboard(event, inBrowserYOffset, height, padding) {
            this.windowsOSK.showFromEvent(inBrowserYOffset, height, padding);
        }
     
        closeKeyboard() {
            this.windowsOSK.close();
        }
    };
     

    Keywords

    none

    Install

    npm i electron-windows-osk-2

    DownloadsWeekly Downloads

    1

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    23.2 kB

    Total Files

    5

    Last publish

    Collaborators

    • bloodf