Помощь - Поиск - Пользователи - Календарь
Полная версия: Коды клавиш
Форум «Всё о Паскале» > Другое > Свободное общение
Айра
Привет!
Дано: программка дозвона которая очень неудобно появляется при нажатии Ctrl+F9.. думаю здесь меня все поймут))
Задача: переопределить в ней клавиши..
Решение: мне нужно было создать файл KEY.txt, где сделать запись вида:
[KEY]
VK_F9=код_переопределенной_клавиши_для_F9
....
MOD_K=код_переопределенной_клавиши_для_Ctrl

т.е. для того чтобы поменять комбинация Ctrl+F9 на Shift+F9
я должна была ввести
[KEY]
VK_F9=0x74
...
MOD_K=0x0004

Я все сделала, Ctrl+F9 теперь полновластно принадлежит компилятору, вот только звонилка на вверенные ей клавиши не риагирует.. sad.gif

Может код клавиш не тот? и еще одна глупая мысль: а коды клавиш на всех клавиатурах одинаковые, просто у ноутбука кнопочек меньше.. smile.gif (чувствую себя блондинкой, нужно еще специальную клавиатуру купить..)

Заранее спасибо за помощь!
Michael_Rybak
f9 вроде бы 0x78.
шифт вроде бы 0xA0

http://delphi.about.com/od/objectpascalide/l/blvkc.htm
andriano
Для того, чтобы не ломать голову каждый раз, когда нужно узнать код той или иной клавиши, пользовался программой:
uses My_crt;
var c : char;
begin
writeln('ä½∩ óδσ«ñá ¡áª¼¿ΓÑ ¬½áó¿Φπ A');
repeat
c := readkey;
writeln(byte©);
until c = 'A';
end.

My_crt - модуль, содержащий лишь readkey и keypressed.
volvo
Только какая связь между получаемыми тобой кодами и виртуальными кодами клавиш Windows, о которых идет речь (неужели ты не заметил VK_ ?) - совершенно непонятно...
Айра
Попробовала поменять: возникла проблема с восприятием программой шестнадцатеричных значений, записанных буквами, как то 7А или 7B, пришлось использоваться кнопки только с циферным обозначением, и Shift прошел как 0x0004..

Всем спасибо smile.gif
klem4
andriano, ты уверен что такой программой ты сможешь определить код любой клавиши ? В часности со стрелками например у тебя ничего не получится. (это я про ДОС)
SKVOZNJAK
А может проще исходники компилятора изменить и скомпилировать.
andriano
Цитата(volvo @ 9.12.2007 14:52) *

Только какая связь между получаемыми тобой кодами и виртуальными кодами клавиш Windows, о которых идет речь (неужели ты не заметил VK_ ?) - совершенно непонятно...

Действительно не заметил. Смутила комбинация Ctrl+F9.
В принципе не вижу ничего сложного в том, чтобы совершенно аналогичным образом получать номера клавиш в Винде.

Добавлено через 3 мин.
Цитата(klem4 @ 10.12.2007 8:31) *

andriano, ты уверен что такой программой ты сможешь определить код любой клавиши ? В часности со стрелками например у тебя ничего не получится. (это я про ДОС)

Ты будешь удивлен, но со стрелками как раз получается.
Этим способом гн удастся "поймать" нажатия клавиш-модификаторов. Но они есть в области данных BIOS по смещениям $17 и $18(если мне не изменяет память).
Если и этого мало, нужно писать обработчик препывания клавиатуры.
Это текстовая версия — только основной контент. Для просмотра полной версии этой страницы, пожалуйста, нажмите сюда.