summaryrefslogtreecommitdiff
path: root/key.js
blob: 04a684d198d0c418d7b29d9d96cb22a5a4cc1d43 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
const chalk = require('chalk');
const readline = require('readline');

readline.emitKeypressEvents(process.stdin);

function nextKey() {
    return new Promise((res) => {
        process.stdin.once('keypress', (ch, key) => {
            res(key);
        });
    });
}

async function prompt() {
    process.stdin.setRawMode(true);
    process.stdin.resume();
    process.stdin.setEncoding('utf8');

    while (true) {
        let key = await nextKey();
        console.log(key);

        if (key.sequence === "\x03") {
            process.stdout.write("\n");
            process.exit();
        }
    }
}

prompt();