cm_ equivalent of <tab> key for use with post-/sendmes

Here you can propose new features, make suggestions etc.

Moderators: Hacker, petermad, Stefan2, white

Post Reply
9kvD38n6
Junior Member
Junior Member
Posts: 90
Joined: 2010-09-03, 08:23 UTC

cm_ equivalent of <tab> key for use with post-/sendmes

Post by *9kvD38n6 »

cm_ equivalent of <tab> key for use with post-/sendmessage

i.e. to switch focus between the file lists from script without having to send keystrokes.

Could work around by first sending message to find out where focus is and then setting focus on left or right list, but it's not a 100% equivalent and shouldn't be necessary.

Thanks
User avatar
petermad
Power Member
Power Member
Posts: 16118
Joined: 2003-02-05, 20:24 UTC
Location: Denmark
Contact:

Post by *petermad »

cm_FocusLeft
cm_FocusRight

But I don't know how to find out where focus currently is.
License #524 (1994)
Danish Total Commander Translator
TC 11.55rc4 32+64bit on Win XP 32bit & Win 7, 8.1 & 10 (22H2) 64bit, 'Everything' 1.5.0.1393a
TC 3.60b4 on Android 6, 13, 14
TC Extended Menus | TC Languagebar | TC Dark Help | PHSM-Calendar
User avatar
LonerD
Senior Member
Senior Member
Posts: 381
Joined: 2010-06-19, 20:18 UTC
Location: Makeyevka/Makiivka
Contact:

Post by *LonerD »

Support.
I use em_ command, but native realization will be more convenient.

[em_TabKeyEmulation]
cmd=%commander_path%\Plugins\exe\TCFS2\TCFS2.exe /ef "tcm(4002), eval(L_isActive) | tcm(4001)"
menu=Switch cursor between Left and Right panels
"I used to feel guilty in Cambridge that I spent all day playing games, while I was supposed to be doing mathematics. Then, when I discovered surreal numbers, I realized that playing games IS math." John Horton Conway
9kvD38n6
Junior Member
Junior Member
Posts: 90
Joined: 2010-09-03, 08:23 UTC

Post by *9kvD38n6 »

Peter,

See this thread for AHK <> TC interaction, e.g. focused file list: http://ghisler.ch/board/viewtopic.php?t=32658.

These are the options:

25.11.11 Added: Send WM_COPYDATA
with dwData='G'+256*'W': Same as with 'G'+256*'A',
but data is returned as UTF-16 Unicode. dwData of return is 'R'+256*'W' (32/64)
25.11.11 Added: Send WM_COPYDATA
with dwData='G'+256*'A' and lpData pointing to command to get back WM_COPYDATA with various info.
% Supported commands A: Active side (returns L or R), or
% two byte command:
% first byte: L=left, R=right, S=source, T=target.
% Second byte: P=current path, C=list count, I=caret index, N=name of file under caret.
% dwData of return is 'R'+256*'A' (32/64)
User avatar
Balderstrom
Power Member
Power Member
Posts: 2148
Joined: 2005-10-11, 10:10 UTC

Post by *Balderstrom »

petermad wrote:cm_FocusLeft
cm_FocusRight

But I don't know how to find out where focus currently is.
I have AHK code that determines whether the Left/or Right Panel is the active one. It has not been updated for Lazarus compiles (TC x64).

Unless Ghisler adds support to the new WM_CopyData to allow getting the HWND of controls by name (since they are all Window# under TC x64) --- I don't see any point in continuing support or development of AHK/TC code.
User avatar
nsp
Power Member
Power Member
Posts: 1951
Joined: 2005-12-04, 08:39 UTC
Location: Lyon (FRANCE)
Contact:

Post by *nsp »

Balderstrom wrote:
petermad wrote:cm_FocusLeft
cm_FocusRight

But I don't know how to find out where focus currently is.
I have AHK code that determines whether the Left/or Right Panel is the active one. It has not been updated for Lazarus compiles (TC x64).

Unless Ghisler adds support to the new WM_CopyData to allow getting the HWND of controls by name (since they are all Window# under TC x64) --- I don't see any point in continuing support or development of AHK/TC code.

The new WM_CopyData stuff is working great with 8.0 and 8.01 RCs but it is too limited.

32bit/64bit pluggin wrapper are not provided (even discouraged by C.Ghisler), All the code we used in 32bit do not work with 64bit version, new WM_copydata that is a open door for more authorized automation is not really supported nor enhanced.
My current statement is DO NOT USE 64Bit version of TC if you need scriptable automation/adaptations

--- Back to the current topic,
in AHK/powerpro/autoit/.... you can using new wm_copydata get curent side.
Ask 'A' and get 'L' or 'R' (unicode or ansi flavor as you wish !)
After you can send a message to switch to opposite side using "cm_FocusLeft", "cm_FocusRight". Ooooops ( 4001,4002 ) no CM message for copy_data :((
Post Reply