Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2003.05.15;
Скачать: CL | DM;

Вниз

Hook - Подмен клавиш   Найти похожие ветки 

 
Silver_ ©   (2003-04-25 15:06) [0]

ситуация такова
Есть клава на которой нема русских букв и иногда нужно печатать на русском
1. выход первый купить наклейки :(
2. выход второй написать прогу заменяющая нажатые клавиши
например нажал "а(-lat)"=ф заменить на "ф"

второй выход более изящный плюс к этому добавив настройки можно будет применить к
любому языку

по сути это как будто бы сделать новый язык(новую раскладку клавиатуры)

вопрос как это осуществить. Может кто-нить уже это делал и не жалко поделиться :)

заранее спасибо.


 
jel ©   (2003-04-25 16:12) [1]


> 2. выход второй написать прогу заменяющая нажатые клавиши
> например нажал "а(-lat)"=ф заменить на "ф"

Если я правильно понял суть вопроса, то такая прога уже написана и фходит в состав Windows. Это обычный переключатель раскладки клавиатуры. А есть на ней русские буквы или нет - ему все равно.


 
Dms   (2003-04-25 16:17) [2]

windows, по-твоему, знает, что у тебя буковки не наклеены ?


 
Silver_ ©   (2003-04-25 16:31) [3]


> jel © (25.04.03 16:12)


так вот клавиша с буквой А(en)=Ф(ru) нужно при нажатии А(en) при русской раскладке генерить F(en) в результате тама где я пишу получится как будто нажимаешь на F(en)=А(ru)

хочу написать прогу которая при нажатии А(en)=Ф(ru) генерила F(en)=А(ru)

надеюсь по-понятней разяснил


 
REA ©   (2003-04-25 16:47) [4]

Не особо. А при нажатии W что должно генерироваться?
В любом случае этого можно без программы добиться наверно, найдя где windows раскладки и языки хранит.
А может все-же наклейки купить? А то гланды болеть будут.


 
evvcom ©   (2003-04-25 16:54) [5]

То есть тебя устроит, если прога будет из твоего "slovo" делать "слово"? Тогда посмотри http://punto.ru/switcher/ - готовый программный продукт, который умеет делать и это в том числе.


 
Silver_ ©   (2003-04-25 16:54) [6]

но ведь можно <Enter> в <Tab> превратить
keybd_event(9, 0, 0, 0); передает натуральный <Tab>

теперь надо Hook навесить правельно ведь не тока в моей проге печатать предполагается тута я-б сделал (скорей всего).

> REA © (25.04.03 16:47)
> Не особо. А при нажатии W что должно генерироваться?



> Silver_ © (25.04.03 15:06)
> ситуация такова
> Есть клава на которой нема русских букв и иногда нужно печатать
> на русском
> 1. выход первый купить наклейки :(
> 2. выход второй написать прогу заменяющая нажатые клавиши
> например нажал "а(-lat)"=ф заменить на "ф"
>
> второй выход более изящный плюс к этому добавив настройки
> можно будет применить к
> любому языку




 
Dms   (2003-04-25 17:05) [7]

а почему ты так уверен, что хук поможет ? сообщение ты ж не подменишь ...


 
NickBat ©   (2003-04-25 17:10) [8]

А если пользователь захочет получить русские буквы: Я, Ы, Щ, Ъ, Ь, Ч, Ц


 
Silver_ ©   (2003-04-25 17:14) [9]


> evvcom © (25.04.03 16:54)
> То есть тебя устроит, если прога будет из твоего "slovo"
> делать "слово"?

уже боялся не понимают

смотрел http://punto.ru/switcher/ но тама нада

Конвертация выделенного текста. Выделите текст, нажмите Shift+Break, и при отпускании клавиши Shift, Punto Switcher за Вас скопирует выделение в буфер обмена, переконвертирует текст в другой язык (подразумевается использование только русской и английской раскладок) и вставит обратно! Так как операция выполняется посредством имитации нажатия Ctrl+C, конвертации буфера, а затем - Ctrl+V, то при нескольких нажатиях Shift+Break или при отсутствии выделенного текста PS просто переконвертирует буфер и вставит текст.

а я хочу сразу нажал "s" получаешь "с"; "slovo" а где печатал (MSWord, Excel, ...) уже стоит "слово" (без лишних действий)


 
Silver_ ©   (2003-04-25 17:20) [10]

да и потом "slovo" превращается в "ыдщмщ" что не есть то что хотел :(


 
Dms   (2003-04-25 17:27) [11]

2 Silver_

ответь на мой вопрос


 
Silver_ ©   (2003-04-25 17:36) [12]


> Dms (25.04.03 17:27)


от того и спрашиваю с хуками не работал ни разу

представляю примерно так: получили нажатую клавишу
потом типа так
if aKey = "А"{en} then keybd_event(Ord("A"{ru} ), 0, 0, 0);


 
Dms   (2003-04-25 17:47) [13]

насколько я понял, то это при помощи ловушки сделать нельзя, т.к. сообщение можно перехватить, но нельзя сделать, чтобы его не получил тот, кому оно предназначается ... по-моему так ... иначе такая анархия была, что виндам бы каюк пришелся


 
Silver_ ©   (2003-04-25 18:22) [14]

ну тогда как поймать-подменить-отпустить пущай едет к адрессату

блин может ваще в API мне/меня надо а?


 
DVM ©   (2003-04-25 20:06) [15]


> насколько я понял, то это при помощи ловушки сделать нельзя,
> т.к. сообщение можно перехватить, но нельзя сделать, чтобы
> его не получил тот, кому оно предназначается ... по-моему
> так ... иначе такая анархия была, что виндам бы каюк пришелся

Можно!


 
evvcom ©   (2003-04-28 10:56) [16]

> Silver_ ©

> а я хочу сразу нажал "s" получаешь "с"; "slovo" а где печатал
> (MSWord, Excel, ...) уже стоит "слово" (без лишних действий)

Напиши ребятам - они довольно оперативные и в последнее время в основном занимаются оформительством. Заскучали ужо. Эту идею, думаю, в раз подхватят и сделают. Тем более они в этом вопросе просто мастера!


> да и потом "slovo" превращается в "ыдщмщ" что не есть то
> что хотел :(

Там есть понятия "транслитерация" и "обратная транслитерация" - это делается не автоматом, а по сочетанию каких-то клавиш.


 
Silver_ ©   (2003-04-30 14:28) [17]


> Напиши ребятам - они...


ОНИ то сделаютъ а кочу сам :) ведь вопрос не в том чтб иметь прогу которая этим занималась. А самому сделать нечто подобное, может пригодится...


> Dms (25.04.03 17:47)

Знаешь как, поделись (хоть инфой)


 
evvcom ©   (2003-04-30 14:37) [18]


> ОНИ то сделаютъ а кочу сам :) ведь вопрос не в том чтб иметь
> прогу которая этим занималась. А самому сделать нечто подобное,
> может пригодится...


Так и пиши, что охота потренироваться, а то "нужна транслитерация" и баста!


 
NDeu ©   (2003-04-30 14:48) [19]

Нужно познокомится с *.kbd


 
Silver_ ©   (2003-04-30 15:38) [20]


> Так и пиши, что охота потренироваться, а то "нужна транслитерация"
> и баста!


НУЖНА (т.е. не тока потренероваться), тока хочу своимим ручками сделать, всяких настроек,обработок (наворотов) добавить (на сайт по Дельфи вроде "вопросил", а не на "качайте хлопци готовые проги" :о), хотя готовые решения посмотреть тоже не лишнее)

Без обид но в вопросе прозвучало охота самому "настряпать" :о)

> 2. выход второй написать прогу заменяющая нажатые клавиши
> например нажал "а(-lat)"=ф заменить на "ф"



> NDeu © (30.04.03 14:48)
> Нужно познокомится с *.kbd

у себя (Win XP) не нашел ничего подобного *.kbd, это что?


 
evvcom ©   (2003-04-30 15:51) [21]


> НУЖНА (т.е. не тока потренероваться), тока хочу своимим
> ручками сделать, всяких настроек,обработок (наворотов) добавить


Ничего не имею против этого. Просто у самого возникало много различных идей, но когда напарывался на уже готовое решение, причем неплохо сделанное, сразу пропадала охота изобретать велосипед.



Страницы: 1 вся ветка

Текущий архив: 2003.05.15;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.015 c
4-47039
DeadMeat
2003-03-14 16:59
2003.05.15
Запуск приложений из сервиса


6-46880
Alekseev
2003-03-18 01:37
2003.05.15
Drag&Drop в WebBrowser


1-46798
Max1111
2003-05-02 12:34
2003.05.15
Работа с текстовыми файлами


1-46726
Loki
2003-05-04 23:07
2003.05.15
TWebBrowser


3-46651
galexis
2003-04-24 16:29
2003.05.15
Помогите составить правильный SQL запрос.