| 411 | } |
| 412 | |
| 413 | void OnKey(int key){ |
| 414 | if(key == KEY_ARROW_UP){ |
| 415 | const char* esc = "\e[A"; |
| 416 | write(masterPTYFd, esc, strlen(esc)); |
| 417 | } else if(key == KEY_ARROW_DOWN){ |
| 418 | const char* esc = "\e[B"; |
| 419 | write(masterPTYFd, esc, strlen(esc)); |
| 420 | } else if(key == KEY_ARROW_RIGHT){ |
| 421 | const char* esc = "\e[C"; |
| 422 | write(masterPTYFd, esc, strlen(esc)); |
| 423 | } else if(key == KEY_ARROW_LEFT){ |
| 424 | const char* esc = "\e[D"; |
| 425 | write(masterPTYFd, esc, strlen(esc)); |
| 426 | } else if(key == KEY_END){ |
| 427 | const char* esc = "\e[F"; |
| 428 | write(masterPTYFd, esc, strlen(esc)); |
| 429 | } else if(key == KEY_HOME){ |
| 430 | const char* esc = "\e[H"; |
| 431 | write(masterPTYFd, esc, strlen(esc)); |
| 432 | } else if(key == KEY_ESCAPE){ |
| 433 | const char* esc = "\e\e"; |
| 434 | write(masterPTYFd, esc, strlen(esc)); |
| 435 | } else if(key < 128){ |
| 436 | const char tkey = (char)key; |
| 437 | write(masterPTYFd, &tkey, 1); |
| 438 | } |
| 439 | } |
| 440 | |
| 441 | int main(int argc, char** argv){ |
| 442 | CreateFramebufferSurface(fbSurface); |