JPuge JPuge - 6 months ago 64
Node.js Question

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?

Answer

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') {