中文字幕一区二区人妻电影,亚洲av无码一区二区乱子伦as ,亚洲精品无码永久在线观看,亚洲成aⅴ人片久青草影院按摩,亚洲黑人巨大videos

帶有按鍵的Node.js Raw模式

發(fā)布于:2021-02-09 09:30:59

0

270

0

Nodejs Raw模式 程序員

我發(fā)現(xiàn)程序員使用Node.js所做的事情非常有趣。在這里,您將了解使用Node.js來(lái)控制無(wú)人機(jī),Arduino和許多其他設(shè)備的程序員。我利用Node.js創(chuàng)建了一個(gè)Roku Remote,這個(gè)項(xiàng)目比我想象的要有趣和容易。但是,該實(shí)驗(yàn)中有一個(gè)很困難:在執(zhí)行腳本的同一shell中偵聽(tīng)擊鍵。

使用遙控器的過(guò)程如下:

  1. 執(zhí)行腳本以連接到Roku:  node remote

  2. 在同一外殼中,使用箭頭鍵和熱鍵導(dǎo)航Roku

  3. 按下CONTROL+C 以殺死腳本

腳本啟動(dòng)后,我需要使用以下JavaScript代碼來(lái)偵聽(tīng)同一外殼中的擊鍵:

// Readline lets us tap into the process events
const readline = require('readline');

// Allows us to listen for events from stdin
readline.emitKeypressEvents(process.stdin);

// Raw mode gets rid of standard keypress events and other
// functionality Node.js adds by default
process.stdin.setRawMode(true);


// Start the keypress listener for the process
process.stdin.on('keypress', (str, key) => {

   // "Raw" mode so we must do our own kill switch
   if(key.sequence === 'u0003') {
       process.exit();
   }

   // User has triggered a keypress, now do whatever we want!
   // ...

});

上面的代碼將您的Node.js腳本變成了一個(gè)活躍的線路,用于監(jiān)聽(tīng)按鍵事件。使用Roku Remote,我通過(guò)REST API(此處為完整代碼)將箭頭和字母按鍵事件直接傳遞給Roku 。我喜歡Node.js使其變得如此簡(jiǎn)單-JavaScript始終獲勝的另一個(gè)原因!