Page 3 of 24

Posted: Mon Sep 05, 2011 2:51 pm
by se7h
Andrey_A_A
обратите внимание на программу из этого сообщения, может добавите её к себе в сборку

Posted: Mon Sep 05, 2011 3:14 pm
by Andrey_A_A
SpecChar... Надо подумать... Хотя для спец симолов буквально вчера сделал контекстное меню, а для других мест работает СLСL и она более структурирована

Posted: Mon Sep 05, 2011 3:44 pm
by se7h
Andrey_A_A
набор символов SpecChar (размер всего-лишь 20 кб) настраивается через ini-файл, структурируйте как хотите

Posted: Mon Sep 05, 2011 5:24 pm
by ermakoov
[quote="Andrey_A_A"][quote]
ЦИТАТА. Я твою хотелку раскусил, её можно реализовать скриптом
1. Сохраняется обычный Hotkeys.ini в Hotkeys_Defolt.ini
2. Настраивается второй с где ! - это 1, @ - 2....
3. скрптом переключаются эти два файла
В идеале. т.е. печатаешь 12345..., нажал на скрипт и уже !@#...
Но за этим целая проблема, потому что в редакторе 3-5 плагинов настраивают свои горячие клавиши через Hotkey... и каждый раз это действие может сбить другие настройки - поэтому такой скрипт потенциально опасен и очень-очень индивидуален, а я за безопасность (не навреди) КОНЕЦ ЦИТАТЫ

Андре, я кажется нашел более красивый выход - ставить Шифт на залипание. Есть такая фича в Винде в Спецвозможностях, переключаться в неё можно каким-то сочетанием.

Видишь, я ешё цитаты не научился вставлять, приходится редактиоровать :)

Posted: Mon Sep 05, 2011 7:21 pm
by ermakoov
Instructor
Andrey_A_A
А назначение кавычек в хоткейс некорректно у меня работало, потому что я неграмотно писал. И никто не догадался, мне дураку, подсказать, что надо писать не Insert("""), а Insert("\"")

Posted: Mon Sep 05, 2011 7:48 pm
by FeyFre
ermakoov, читаем внимательно хелпы, в часномти Hotkeys-Rus.txt
Там мы видим пример записи команд с строчніми аргументами - можно использовать три вида кавычек, в том числе и вперемешку: "" '' ``

Posted: Tue Sep 06, 2011 2:02 pm
by Fr0sT
Вообще имхо такие вещи делаются system-wide посредством изменения раскладки клавы

Posted: Tue Sep 06, 2011 2:29 pm
by FeyFre
Fr0sT, ну дык в личке была данна ссылка на MSKLC

Posted: Tue Sep 06, 2011 9:06 pm
by ermakoov
Fr0sT
FeyFre
Эх, знать бы ещё, что значат эти матюки: system-wide, MSKLC :( :)

Posted: Tue Sep 06, 2011 10:20 pm
by FeyFre

Posted: Wed Sep 07, 2011 5:26 am
by ermakoov
FeyFre

Виноват - исправлюсь :) Но так вышло не из-за тяжести, а по другой причине. А позволяет ли эта MSKLC переназначать функциональные клавиши - то есть вешать на них свои команды?

И еще вопросик, который меня мучает давно и на него до сих пор не дал мне вменяемый ответ ни один программист. Можно ли в Винде (ХР) чисто системными средствами назначить всем клавишам звук (например, пишущей машинки, как в Акеле)? В OS ведь уже в принципе присутствует фича "звуковых схем". Некоторые программисты говорят, что ничего (только системными средствами, то есть без привлечения сторонних программ) поделать нельзя, так как всё это хозяйство в Винде уже откомпилировано.

Posted: Wed Sep 07, 2011 7:53 am
by FeyFre
А позволяет ли эта MSKLC переназначать функциональные клавиши - то есть вешать на них свои команды?
Нет. Задача "раскладок клавиатуры" преобразовать координаты нажатой клавиши(второй ряд, пятая клавиша слева) в символ ввода. Причем делается это в последнюю очередь - если приложение желает работать с кнопками напрямую, оно не позволяет раскладкам делать своё дело.
Можно ли в Винде (ХР)
Что по-вашему "системные средства"? То что в Винде из коробки? Может и возможно, а может и нет.(В Винде столько функционала и механизмов есть, что я даже не уверен, существует ли человек, который его весь знает). Но в любом случае, тремя щелчками мышки это не настроить.

Posted: Wed Sep 07, 2011 8:12 am
by ermakoov
FeyFre
Фей, ты, наверняка, на этом форуме самый отзывчивый отвечальщик :) Спасибо! И тогда, позволь ещё чуть помучить тебя.

Подскажи пожалуйста код скрипта нажатия, например, клавиши Home.

Posted: Wed Sep 07, 2011 8:46 am
by Andrey_A_A
Подскажи пожалуйста код скрипта нажатия, например, клавиши Home.
в скриптах .vbs

Code: Select all

Set WSH = CreateObject("WScript.Shell")
WSH.SendKeys "{HOME}"

Объект WshShell
Методы
SendKeys
Синтаксис:

SendKeys(<String>)

Назначение:

Посылает одно или несколько нажатий клавиш в активное окно (имитация набора на клавиатуре).

Параметры:

<String> - строка, перечень клавиш в специальном формате.

Описание:

Каждая клавиша задаётся своим символом. Например, чтобы задать нажатие друг за другом клавиш А, Б и В, нужно указать в качестве параметра строку "АБВ".
Некоторые специальные символы следует всегда задавать заключёнными в фигурные скобки. Перечень таких символов:
{+} {^} {%} {~} {(} {)} {[} {]} {{} {}}
Задание неотображаемых символов и специальных клавиш:
<Backspace> - {BACKSPACE} или {BS} или {BKSP}
<Break> - {BREAK}
<Caps Lock> - {CAPSLOCK}
<Delete> - {DELETE} или {DEL}
<End> - {END}
<Enter> - {ENTER} или ~
<Esc> - {ESC}
<Home> - {HOME}
<Insert> - {INSERT} или {INS}
<Num Lock> - {NUMLOCK}
<Page Down> - {PGDN}
<Page Up> - {PGUP}
<Print Screen> - {PRTSC}
<Scroll Lock> - {SCROLLLOCK}
<Tab> - {TAB}
<Up Arrow> - {UP}
<Left Arrow> - {LEFT}
<Down Arrow> - {DOWN}
<Right Arrow> - {RIGHT}
<F1> - {F1}
<F2> - {F2}
и т.д.
<Shift> - +
<Ctrl> - ^
<Alt> - %
Можно использовать скобки. Например, нажатие клавиш <G> и <S> при нажатом <Shift> следует записывать как "+(GS)". Запись "+GS" приведёт к нажатию клавиши <G> при нажатом <Shift>, а затем клавиши <S> уже без <Shift>.
Задание нескольких нажатий: "{LEFT 42}" приведёт к нажатию клавиши <Left Arrow> 42 раза подряд, "{h 10}" приведёт к нажатию клавиши <h> 10 раз подряд.
Метод не может быть использован для посылки нажатий клавиш в приложения MS-DOS.


Пример:

Set WshShell = CreateObject("WScript.Shell")
WshShell.SendKeys "^{ESC}"


Posted: Wed Sep 07, 2011 9:21 am
by ermakoov
Andrey_A_A
Спасибо большое! А как то же самое будет выглядеть на js?