Closed chivstyle closed 3 years ago
chiv@chiv-vpc:~$ uname -a Linux chiv-vpc 5.4.0-53-generic #59-Ubuntu SMP Wed Oct 21 09:38:44 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux chiv@chiv-vpc:~$ uname aaaaaaa @chivstyle
Hello, and thank you for the report.
CTRL+U will clear the command, but `Terminal` does not response this hot key, so dose CTRL+P, ....
Unfortunately I cannot reproduce the problem here. (The CTRL+U and CTRL+P works fine on my machines)
I'd be grateful if you could provide some more information on your desktop setup, such as the desktop user interface, U++ build, the value of TERM variable, etc.
Hi. My testing machine
OS: Windows 10 64bit
Toolchain: MSVS19x64
U++: upp-win-15400
I tested the example SshTerminalExample
. CTRL+A, CTRL+B, ... CTRL+O worked, but CTRL+P ~ CTRL+Z didn't work.
I connected to a Ubuntu 20.04 64bit
machine.
Hi. My testing machine
OS: Windows 10 64bit Toolchain: MSVS19x64 U++: upp-win-15400
I tested the example
SshTerminalExample
. CTRL+A, CTRL+B, ... CTRL+O worked, but CTRL+P ~ CTRL+Z didn't work. I connected to aUbuntu 20.04 64bit
machine.
Ah, on Windows. OK, then. Thank you very much.
I will investigate the issue and see what's going on.
By the way, are you by any chance on a laptop or notebook? Because the control key handling had some problems on some notebooks, such as Dell XPS and Inspiron machines.
Thanks for reply. I tested on my desktop PC, my keyboard is cherry MX BOARD 1.0. By the way, I tested the SshTerminalExample
with software keyboard, and got the same result.
I read the code, and found
if((key & K_ALT_KEY) == K_ALT_KEY
|| (key & K_CTRL_KEY) == K_CTRL_KEY
|| (key & K_SHIFT_KEY) == K_SHIFT_KEY)
return false;
To be honest, I do not understand that, it rejects the keys with CTRL/ALT/SHIFT ?
To be honest, I do not understand that, it rejects the keys with CTRL/ALT/SHIFT ?
No, that simply rejects ctrl/shift/alt keys as keys and not as modifiers. Combinations are represented with K_ALT/K_SHIFT/K_CTRL enumerators. ) That is not the problem, that's for sure.
However, I'll look into the issue tonight (as I don't have access to my win7 and win 10 machines right now.) I'll hopefully fix that issue within a couple of days. Sorry for the inconvenience.
That's great!
@chivstyle
I stand corrected. And I learned another lesson to be not sure about anything. Well, I can reproduce the problem, now that's for sure. :) While my statement is partly right the actual implementation wasn't. I should have been more careful.
Can you just replace the block:
if((key & K_ALT_KEY) == K_ALT_KEY || (key & K_CTRL_KEY) == K_CTRL_KEY || (key & K_SHIFT_KEY) == K_SHIFT_KEY) return false;
with:
if(findarg(key, K_CTRL_KEY, K_ALT_KEY, K_SHIFT_KEY) >= 0) return false;
and confirm the result?
This should hopefully fix it.
👍 ,it worked. The U++'s abstraction of keyboard event seems to be a little complicated.
Thanks very much.
Thank you for reporting the issue. Fix applied: fd9bbfd69432b0faeb643dd05c1c182286487e2f
CTRL+U will clear the command, but
Terminal
does not response this hot key, so dose CTRL+P, ....