Страница 71 из 130
Добавлено: Пн апр 08, 2013 10:57
sa
MVV писал(а):а теперь я зажимаю Shift, если надо. Так что по сути ^M - это Ctrl+Shift+m.
Может всё-таки не стоит принудительно зажимать Shift в выражениях с модификаторами? По-моему, это позволит избежать лишних ошибок.
Ну, и не хотелось бы ломать голову, почему не верно срабатывают уже привычные многим предопределённые нажатия {DELETE} {BACKSPACE} {BKSP} {INSERT} {SPACE} {SP}. Кстати, если бы появился пробел вида {SPACE} и {SP}, можно бы было вернуть на место и юникодный пробел.
Добавлено: Пн апр 08, 2013 11:20
MVV
{DELETE} {BACKSPACE} {BKSP} {INSERT}
Не вижу никакого смысла перегружать экзешник двадцатью вариантами написания одного и того же. Не пойму, зачем вообще к таким привыкать, когда есть их короткие аналоги, поддерживаемые теми же средствами.
{DEL} {BS} {BS} {INS} - в разы лаконичнее и несет меньше воды, меньше растягивает строчку при злоупотреблении спецклавишами, и работает точно так же.
Ладно, их всего 4 дополнительных, добавлю.
Можно, конечно, зажатые модификаторы проверять все 3, а не только Shift, прежде чем зажимать его для букв. Только вопрос возникает. Не будет ли такой ситуации, когда, скажем, при зажатом Alt надо что-то написать? Тот же быстрый поиск. И тут уже регистр очень важен для небуквенных кнопок. К тому же, дотнетовский SendKeys тоже не срабатывает с
^M, только с
^m. VB-шный, почему-то мне кажется, так же будет вести себя. Или?
Добавлено: Пн апр 08, 2013 17:52
sa
VB-шный, почему-то мне кажется, так же будет вести себя. Или?
Чудеса! Ctrl+M и правда не работает в VB в связке с TC. Проверил Ctrl c A, B, C, D, R, S, V, X – все комбинации работают.
Добавлено: Пн апр 08, 2013 18:09
MVV
И что, ^B работает как Ctrl+B, а не как Ctrl+Shift+B? В тотале просто некоторые комбинации работают как без Shift, так и с ним, если та комбинация не переопределена (например, Ctrl+L и Ctrl+Shift+L обе вызывают cm_GetFileSpace, пока не переопределишь их).
Добавлено: Пн апр 08, 2013 20:26
sa
И что, ^B работает как Ctrl+B, а не как Ctrl+Shift+B?
Не заметил, и правда, как Ctrl+Shift+B.
Моё предложение насчёт Shift снимается.

Добавлено: Ср апр 24, 2013 05:13
Flasher
sa писал(а):не хотелось бы ломать голову, почему не верно срабатывают уже привычные многим предопределённые нажатия ... {SPACE} {SP}
MVV писал(а):есть их короткие аналоги ... и работает точно так же
Так работает или нет? У меня по
send({SP}) вместо выделения элемента под курсором происходит выполнение команды, назначенной на SHIFT+S. Т.е. тут есть явная привязка шифта, когда первый символ после фигурной скобки идёт в верхнем регистре.
Добавлено: Ср апр 24, 2013 10:14
sa
Flasher
Кнопка с использованием просто пробела (без {SP} или {SPACE}):
Код: Выделить всё
TOTALCMD#BAR#DATA
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe
/ef "tcm(494, 1) delay(200) send(`+{TAB 5} {ENTER}`, findwnd(`TDLGCONFIGALL`))"
wcmicons.dll,20
Цвета для типов файлов: вкл/выкл
-1
Добавлено: Ср апр 24, 2013 10:33
Flasher
sa
Покажи мне работающую команду (не кнопку) только с одним пробелом.
Добавлено: Ср апр 24, 2013 10:45
sa
Не то?
Код: Выделить всё
%COMMANDER_PATH%\Utils\TCFS2\TCFS2.exe /ef "send(` `)"
Добавлено: Ср апр 24, 2013 11:11
Flasher
То. Я про двойные кавычки забыл..

Добавлено: Ср апр 24, 2013 15:52
MVV
Flasher писал(а):Так работает или нет? У меня по send({SP}) вместо выделения элемента под курсором происходит выполнение команды, назначенной на SHIFT+S. Т.е. тут есть явная привязка шифта, когда первый символ после фигурной скобки идёт в верхнем регистре.
Для пробела мнемоника не вводилась и не планируется.
Косые кавычки тоже лучше не забывать. Без них пробелы нещадно выкашиваются из строки. А точка с запятой вообще считается концом строки и началом комментария.

Добавлено: Ср апр 24, 2013 16:25
Flasher
MVV писал(а):Для пробела мнемоника не вводилась и не планируется.
Плохо. Но я тебе про Шифт пишу, а не про конкретно пробел. Найди замену шифту для верхнего регистра.
MVV писал(а):Косые кавычки тоже лучше не забывать. Без них пробелы нещадно выкашиваются из строки.
Там речь про двойные, а не косые.
Добавлено: Ср апр 24, 2013 16:42
MVV
Если мнемоника не распознается, посылается клавиша, указанная первой в фигурных скобках (такая штука используется для функции повтора символа). А она у тебя -
S. Вот и посылается Shift+s. К чему это приведет, это уже зависит от настроек (у меня в комстроку печатает
S, у тебя выполняет команду и т.д.).
Там речь про двойные, а не косые.
Потому в моем предложении есть слово
тоже.

Добавлено: Ср апр 24, 2013 17:20
Flasher
MVV писал(а):такая штука используется для функции повтора символа
Что это?
MVV писал(а):Без них пробелы нещадно выкашиваются из строки.
А зачем при этом двойные? Может, стоит при наличии косых двойные добавлять по умолчанию?
Добавлено: Ср апр 24, 2013 17:29
MVV
Flasher писал(а):Что это?
Например,
send(`{tab 8}`) или
send(`{s 20}`). Если указано мнемоимя клавиши, повторяется она, иначе - символ.
Flasher писал(а):А зачем при этом двойные? Может, стоит при наличии косых двойные добавлять по умолчанию?
Затем, что двойными разделяются параметры командной строки - это внешний уровень. А внутри двойных синтаксис абсолютно идентичен синтаксису в
TCFS2.ini, т.е. все строки должны быть заключены в косые кавычки (откровенно говоря, не все, а содержащие пробелы, точки с запятыми, запятые, закрывающие скобки и другие спецсимволы).