Text selection in Take Command tab window

Charles Dye

Super Moderator
Staff member
May 20, 2008
3,556
46
Albuquerque, NM
prospero.unm.edu
#1
I seem to have lost the ability to select text in a TC tab window with shift-left, shift-right, shift-end, and so on. I'm only seeing this in Take Command; it works fine in a standalone console window.

Anybody else seeing this?
 
#2
I seem to have lost the ability to select text in a TC tab window with shift-left, shift-right, shift-end, and so on. I'm only seeing this in Take Command; it works fine in a standalone console window.

Anybody else seeing this?
I see it too. In addition, if I Shift-Right/Left, the cursor over-shoots its mark, unlike simply Right/Left. V12 has this overshoot, too (but does select text).
 
#6
Not reproducible here (tried on four systems).

I'm 99.9% sure this is a configuration issue with your keyboard (repeat rate set too fast, so the keyboard buffer is filling up?).
It's at about 30 characters per second and it doesn't misbehave in any other program. If I hold down Shift-Left and lift the Left key after about 90 characters have been selected, it continues to select about another 80 characters. As I said earlier, it works perfectly with plain Left/Right but not with Shift-Left/Right. Shift-Up/Down stops instantly when I lift the key.
 

rconn

Administrator
Staff member
May 14, 2008
10,430
95
#7
If I hold down Shift-Left and lift the Left key after about 90 characters have been selected, it continues to select about another 80 characters.

Which is exactly what it will do if you've filled your keyboard buffer with more characters while TCC is processing the previous characters. 30 cps is waaaay too much if you're planning on holding the key down for any length of time > .1 second (and then guessing when to release it).

As I said earlier, it works perfectly with plain Left/Right but not with Shift-Left/Right


That's hardly surprising; Shift-Left / Shift-Right do about 100x as much in code as Left/Right, and there is a lot of interprocess communication between TCC and TCMD (in order to update the tab window and notify TCMD of the selection). Are any of your other programs doing block marking with Shift-Left / Shift-Right -- and while transmitting all those updates to another application?

The only thing I could do to fix your system would be (1) get you a faster cpu; (2) get you a faster video card, or (3) disable your keyboard buffer.
 
#8
Which is exactly what it will do if you've filled your keyboard buffer with more characters while TCC is processing the previous characters. 30 cps is waaaay too much if you're planning on holding the key down for any length of time > .1 second (and then guessing when to release it).



That's hardly surprising; Shift-Left / Shift-Right do about 100x as much in code as Left/Right, and there is a lot of interprocess communication between TCC and TCMD (in order to update the tab window and notify TCMD of the selection). Are any of your other programs doing block marking with Shift-Left / Shift-Right -- and while transmitting all those updates to another application?

The only thing I could do to fix your system would be (1) get you a faster cpu; (2) get you a faster video card, or (3) disable your keyboard buffer.
Well, I don't really care. I only fire up TCMD to test things. But it's an ugly artifact and I can't believe I'm the only one affected by it.
 

Charles Dye

Super Moderator
Staff member
May 20, 2008
3,556
46
Albuquerque, NM
prospero.unm.edu
#10
Working as expected in build 46. Thank you, Rex.

I do see some slight 'overshoot' as Vincent describes. I don't consider it either surprising (this is a netbook, Atom N450 processor) nor a problem -- for selecting large runs, I never hold down Shift-Left or Shift-Right; I select words using the Control key, or else select to the end of the line with Shift-End or Shift-Home. (Nor do I generally run Take Command on this small-screened machine!) If older builds behaved the same way, it was never important enough to rise to my conscious attention.
 
Feb 23, 2012
238
3
#11
I reproduce this problem. In TCC, the shift-arrows select text on my command line as expected, but in the TC tabbed environment, shift-left and shift-right just act as the left and right arrows, moving the cursor without selecting anything. I'm running an intel core i7 (with only 0-5% CPU load while I tried the shift-arrows) so I don't think it's a matter of a slow CPU. Windows 7 x64. Is there any sort of debugging setting that I can turn on to provide you with more details?
By the way, I notice that shift-up, shift-down, shift-pgup, and shift-pgdown don't work to select rows or pages of text, even in TCC. Is this by design? (PowerCmd supports this, and I often use it in other apps, too, like MS Word).
 
Feb 23, 2012
238
3
#12
Ah, sorry, I didn't see that build 46 was available. I have just installed it and the shift-right and shift-left problem has been fixed. Thank you Rex! (And thanks, also, for the the UTF8 TCMD.ini option. It works great!)
Still wondering though about the shift-up, shift-down, shift-pgup, and shift-pgdown - are these not implemented by design, or would it be worth suggesting it as a feature request?
 

samintz

Scott Mintz
May 20, 2008
1,270
11
Solon, OH, USA
#13
The overshoot issue has been there for a long time. It's not new to build 46. It's a nuisance and I get bit by it every once in a while. I mostly select text using the mouse, but sometimes it's easier using the keyboard. FWIW - TCMD is the only product I've ever used that has this issue. I find it hard to believe that on a modern PC operating over 2000 MHz that the software can't keep up with 30 cps.
 

rconn

Administrator
Staff member
May 14, 2008
10,430
95
#14
I find it hard to believe that on a modern PC operating over 2000 MHz that the software can't keep up with 30 cps.
Better learn to believe it -- Windows IPC is not fast.

FWIW - TCMD is the only product I've ever used that has this issue.
You probably don't have a lot of other applications that have to talk to another app in order to move the mouse & highlight text.

But for the next build, I've adoped the #3 solution in my previous message to Vince -- every time TCC processes a Shift-Left or Shift-Right key, it will flush the keyboard buffer. That should solve the problem for users who like to lean on their keyboards for extended periods.