mirror of
https://github.com/arendst/Tasmota.git
synced 2025-04-24 14:57:16 +00:00
Merge pull request #15278 from schlimmchen/console-cursor
console: keep cursor at the end of command input
This commit is contained in:
commit
2344d40eba
@ -2,7 +2,7 @@
|
||||
// compressed by tools/unishox/compress-html-uncompressed.py
|
||||
/////////////////////////////////////////////////////////////////////
|
||||
|
||||
const size_t HTTP_SCRIPT_CONSOL_SIZE = 952;
|
||||
const size_t HTTP_SCRIPT_CONSOL_SIZE = 1011;
|
||||
const char HTTP_SCRIPT_CONSOL_COMPRESSED[] PROGMEM = "\x33\xBF\xAF\x71\xF0\xE3\x3A\x8B\x44\x3E\x1C\x67\x51\x18\xA3\xA8\x2A\x2B\x1A\x7C"
|
||||
"\x3E\x84\x3C\x18\x17\xC1\xD6\xE7\x20\x8E\xE8\xC3\xBC\x7B\x4C\xEF\xE8\x33\xAB\x0F"
|
||||
"\x87\xD9\xF6\x78\x0C\x27\x7F\x2A\x2B\xD1\xAF\x05\xD1\xDD\x0A\x8E\xF0\x24\xCD\x31"
|
||||
@ -30,12 +30,14 @@ const char HTTP_SCRIPT_CONSOL_COMPRESSED[] PROGMEM = "\x33\xBF\xAF\x71\xF0\xE3\x
|
||||
"\x09\x83\xFC\x7D\x9D\x40\x89\xC7\xF3\x04\x1E\x37\x07\x02\x27\x38\xA7\x50\x67\xC6"
|
||||
"\x74\x34\x66\x44\x1E\x08\xCF\x1A\x60\xEE\x9C\xBF\x9F\x0F\x84\x19\xFE\x3F\xC7\x31"
|
||||
"\x9F\x0F\x84\x19\xDE\x3D\xA3\x8E\x96\x2E\xB0\x3C\x1A\x30\x27\x4C\xF8\x7D\xE1\x83"
|
||||
"\x07\xD9\xE0\xF7\x1C\xBF\x9F\x0F\x84\x19\xDA\x3B\xA7\x6C\xED\x87\xC7\xE0\xA0\xC1"
|
||||
"\x0B\x8C\xD3\xF4\x7E\x8E\xE8\x7C\x7C\x04\x49\x67\x78\xEA\x1C\x08\x5C\x80\x8A\x0C"
|
||||
"\xF7\x83\xE3\xAC\xE4\x3D\xF3\xFC\x7F\x8F\xB3\xEC\xEF\x1E\x78\xCF\x87\xC2\x0C\xED"
|
||||
"\x1D\xD3\x8C\xFC\x3A\xCE\xB2\x0F\x81\x07\x10\x38\xC8\x14\xF0\x83\x92\xCF\x87\xC2"
|
||||
"\x0C\xFD\x1F\xA3\xBA\x08\x99\x89\xF8\x72\x23\xF4\x7E\x88\x50\x67\x41\x98\x30\xEE"
|
||||
"\x9D\xE3\xA8\x50\x67\x41\x7C\x08\x3C\xAB\x82\x16\x38\x77\x8E\xA0\xF8\xF8\x71\x9D"
|
||||
"\xE3\xDC\x77\x8F\x07\xB8\x87\xC2\x3B\xA2\x8E\xF1\xE0";
|
||||
"\x07\xD9\xE0\x11\xB8\x10\x1C\x7C\x3F\x0F\x68\xE3\xA1\x8C\x0C\x5F\x8E\xE9\xDE\x3C"
|
||||
"\x0E\x3A\x79\xD1\x79\x84\xC3\xAD\xCE\x2F\xDF\x0F\x33\xBA\x72\x13\x38\x8E\xA8\x4C"
|
||||
"\xE2\x3B\xC7\xB8\xEA\x67\x51\x0E\x3B\xC7\xB8\xE5\xFC\xF8\x7C\x20\xCE\xD1\xDD\x3B"
|
||||
"\x67\x6C\x3E\x3F\x05\x06\x08\x5C\x84\x1F\xA3\xF4\x77\x43\xE3\xE0\x22\x4B\x3B\xC7"
|
||||
"\x50\xE0\x42\xE4\xF0\x50\x67\xBC\x1F\x1D\x67\x21\xEF\x9F\xE3\xFC\x7D\x9F\x67\x78"
|
||||
"\xF3\xC6\x7C\x3E\x10\x67\x68\xEE\x9C\x67\xE1\xD6\x75\x90\x7C\x08\x38\x81\xC6\x40"
|
||||
"\xA7\x84\x1C\x96\x7C\x3E\x10\x67\xE8\xFD\x1D\xD0\x44\xCC\x4F\xC3\x91\x1F\xA3\xF4"
|
||||
"\x42\x83\x3A\x0C\xC1\x87\x74\xEF\x1D\x42\x83\x3A\x0B\xE0\x41\xE6\x48\x10\xB1\xC3"
|
||||
"\xBC\x75\x07\xC7\xC3\x8C\xEF\x1E\xE3\xBC\x78\x3D\xC4\x3E\x11\xDD\x14\x77\x8F\x06";
|
||||
|
||||
#define HTTP_SCRIPT_CONSOL Decompress(HTTP_SCRIPT_CONSOL_COMPRESSED,HTTP_SCRIPT_CONSOL_SIZE).c_str()
|
@ -45,7 +45,13 @@ const char HTTP_SCRIPT_CONSOL[] PROGMEM =
|
||||
// "if(!(navigator.maxTouchPoints||'ontouchstart'in document.documentElement)){eb('c1').autocomplete='off';}" // No touch so stop browser autocomplete
|
||||
"eb('c1').addEventListener('keydown',function(e){"
|
||||
"var b=eb('c1'),c=e.keyCode;" // c1 = Console command id
|
||||
"if(38==c||40==c){b.autocomplete='off';}" // ArrowUp or ArrowDown must be a keyboard so stop browser autocomplete
|
||||
"if(38==c||40==c){" // ArrowUp or ArrowDown
|
||||
"b.autocomplete='off';" // ArrowUp or ArrowDown must be a keyboard so stop browser autocomplete
|
||||
"setTimeout(b=>{" // for best compatibility (chrome) we need to schedule this function
|
||||
"b.focus();" // for best compatibility (chrome) we need to (re)focus the input element
|
||||
"b.setSelectionRange(1e9,1e9)" // move cursor to the end (hopefully) of the command inserted from history
|
||||
"},0,b)"
|
||||
"}"
|
||||
"38==c?(++cn>hc.length&&(cn=hc.length),b.value=hc[cn-1]||''):" // ArrowUp
|
||||
"40==c?(0>--cn&&(cn=0),b.value=hc[cn-1]||''):" // ArrowDown
|
||||
"13==c&&(hc.length>19&&hc.pop(),hc.unshift(b.value),cn=0)" // Enter, 19 = Max number -1 of commands in history
|
||||
|
Loading…
x
Reference in New Issue
Block a user