MES3.0はLinuxの下位互換性であり、MES3.0のユーザープログラムは原則としてLinuxでも同じソースコードで動作します。
以下、MES3.0で動作確認されたLinuxとソースコード互換のキーボード直接入力の例です。
#include <stdio.h>
#include <termios.h>
#include <unistd.h>
#include <fcntl.h>
int kbhit(void) {
struct termios oldt, newt;
int ch;
tcgetattr(STDIN_FILENO, &oldt);
newt = oldt;
newt.c_lflag &= ~(ICANON | ECHO);
tcsetattr(STDIN_FILENO, TCSANOW, &newt);
ch = getchar();
tcsetattr(STDIN_FILENO, TCSANOW, &oldt);
if (ch != EOF) {
ungetc(ch, stdin);
return 1;
}
return 0;
}
int main(void) {
int c;
for(;;) {
if(kbhit()) {
c = getchar();
if(c == 'q') break;
printf("[%02x]", c);
if(c >= 0x20) printf("[%c]", c);
putchar('\n');
}
}
return 0;
}