mirror of
https://github.com/Zeal-Operating-System/ZealOS.git
synced 2024-12-24 22:50:28 +00:00
Send characters as you type
This commit is contained in:
parent
e27ec865c8
commit
741c0394b7
1 changed files with 17 additions and 6 deletions
|
@ -3,6 +3,7 @@
|
|||
|
||||
#define TELNET_PORT 23
|
||||
#define BUF_SIZE 8192 // way too big?
|
||||
#define INPUT_BUF_SIZE 32
|
||||
#define TIMEOUT_DURATION 5000
|
||||
|
||||
#define NEGOTIATE 0xFF
|
||||
|
@ -97,7 +98,7 @@ U0 InputTask(U0 *args) {
|
|||
// DocCursor;
|
||||
// WinBorder(OFF);
|
||||
|
||||
U8 input_buffer[BUF_SIZE];
|
||||
U8 input_buffer[INPUT_BUF_SIZE];
|
||||
U8 *temp, ch;
|
||||
I64 sc;
|
||||
U8 *line = input_buffer;
|
||||
|
@ -137,7 +138,7 @@ U0 InputTask(U0 *args) {
|
|||
TCPSocketSendString(sock, "\x1B[B");
|
||||
break;
|
||||
case SC_TAB:
|
||||
TCPSocketSendString(sock, 0x09);
|
||||
TCPSocketSend(sock, 0x09, 0);
|
||||
break;
|
||||
default:
|
||||
break;
|
||||
|
@ -145,7 +146,7 @@ U0 InputTask(U0 *args) {
|
|||
break;
|
||||
|
||||
case CH_ESC:
|
||||
TCPSocketSendString(sock, 0x27);
|
||||
TCPSocketSend(sock, 0x27, 0);
|
||||
break;
|
||||
case CH_SHIFT_ESC:
|
||||
force_disconnect = TRUE;
|
||||
|
@ -155,10 +156,10 @@ U0 InputTask(U0 *args) {
|
|||
// SysLog(input_buffer);
|
||||
temp = MStrPrint("%s\r\n", input_buffer);
|
||||
TCPSocketSendString(sock, temp);
|
||||
|
||||
|
||||
input_len = 0;
|
||||
Free(temp);
|
||||
MemSet(input_buffer, 0, BUF_SIZE);
|
||||
MemSet(input_buffer, 0, INPUT_BUF_SIZE);
|
||||
DocClear;
|
||||
|
||||
DocBottom(input_task->put_doc);
|
||||
|
@ -168,7 +169,17 @@ U0 InputTask(U0 *args) {
|
|||
if (key >= ' ' && key <= '~') {
|
||||
// Handle regular keys
|
||||
input_buffer[input_len++] = key;
|
||||
DocPrint(input_task->put_doc, "%c", key);
|
||||
// DocPrint(input_task->put_doc, "%c", key);
|
||||
temp = MStrPrint("%s", input_buffer);
|
||||
TCPSocketSendString(sock, temp);
|
||||
|
||||
input_len = 0;
|
||||
Free(temp);
|
||||
MemSet(input_buffer, 0, INPUT_BUF_SIZE);
|
||||
DocClear;
|
||||
|
||||
DocBottom(input_task->put_doc);
|
||||
"\n$$RED$$$BK,1$Input$BK,0$$$BLACK$$:";
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue