Skip to content

Latest commit

 

History

History

keycode

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 

Cliffy ❯ KeyCode

Version Release date Deno version Build status issues Licence

ANSI key code parser for Deno
>_ Used by cliffy's prompt module.

Usage

#!/usr/bin/env -S deno run

import { KeyCode } from '../../packages/keycode/lib/key-code.ts';

async function read(): Promise<void> {

    const buffer = new Uint8Array( 8 );

    Deno.setRaw( 0, true );
    const nread = await Deno.stdin.read( buffer );
    Deno.setRaw( 0, false );

    if ( nread === Deno.EOF ) {
        return;
    }

    const data = buffer.subarray( 0, nread );

    const event = KeyCode.parse( data );

    if ( event && event.name === 'c' && event.ctrl ) {
        console.log( 'exit' );
        return;
    }

    console.log( event );

    await read();
}

await read();

Documentation

KeyCode

  • parse( data: Uint8Array | string ): KeyEvent | undefined

KeyEvent

  • name?: string
  • sequence?: string
  • ctrl: boolean
  • meta: boolean
  • shift: boolean

License

MIT