Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Detect enter in keypress event node.js rawmode

I am writing a simple commandline tool to allow commandline input to a node.js server. I am trying to make a buffer, so the user can press up and see the last command. To do that I have set

require('tty').setRawMode(true);

And detects all keypress with:

process.stdin.on('keypress', function (letter, key) {
    if (key && key.ctrl && key.name == 'c') {
        process.exit();
    } else if (key && key.enter) {
        write(letter);
        msgFired(buffer[bufferPos]);

        bufferPos += 1;
        buffer[bufferPos] = "";
    } else {
        write(letter);
        buffer[bufferPos] += letter;
    }
});

This does not detect enter-presses.

Are there a way to detect when a whole line is fires (as when RawMode is false) alongside with the keypress event? If not, how I detect the enter-press?

like image 312
JPuge Avatar asked May 13 '26 20:05

JPuge


1 Answers

As far as I can see, your only error is that this:

else if (key && key.enter) {

should be this:

else if (key && key.name == 'enter') {
like image 165
loganfsmyth Avatar answered May 15 '26 09:05

loganfsmyth