|
|
  |
Соответствие PS/2 сканкодов ASCII кодам |
|
|
|
Dec 17 2008, 07:55
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 25-10-07
Из: Тольятти
Пользователь №: 31 723

|
Выложите пожалуйста нормальный массив на C для перевода сканкодов PS/2 клавиатуры в ASCII коды. Соответствие должно быть такое:
scan2ascii[0x16] == '1'; scan2ascii[0x2E] == '5'; scan2ascii[0x1C] == 'A';
зы: гугл и т.п не предлагать
Сообщение отредактировал elektronshik - Dec 17 2008, 07:57
|
|
|
|
|
Dec 17 2008, 13:32
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Цитата(elektronshik @ Dec 17 2008, 10:55)  зы: гугл и т.п не предлагать А зря, ведь там есть готовые проекты для подключения клавы к контроллеру, я видел для AVR (осмелюсь предположить, что он как раз и нужен). Осмелюсь также заметить, что это не системный уровень проектирования, тем более не математика или физика. В крайнем случае в интерфейсы. А скорее в начинающие Вот собственно, и сам проектPS; сорри за занудство, день сегодня выдался тяжёлый, хоть и не понедельник
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Dec 17 2008, 14:03
|
Участник

Группа: Свой
Сообщений: 73
Регистрация: 25-10-07
Из: Тольятти
Пользователь №: 31 723

|
Цитата(rezident @ Dec 17 2008, 16:25)  А как быть со скан-кодами нажатия и отпускания?  Никак, нужны только те что соответствуют ASCII кодам. Цитата Вот собственно, и сам проект Видел, это не то, здесь в цикле перебирают, а нужно сразу. Не стал бы ничего здесь спрашивать, непосмотрев в гугле. Вобщем задаешь один вопрос - получаешь два...
|
|
|
|
|
Dec 17 2008, 14:26
|
Гуру
     
Группа: Свой
Сообщений: 10 920
Регистрация: 5-04-05
Пользователь №: 3 882

|
Цитата(elektronshik @ Dec 17 2008, 19:03)  Никак, нужны только те что соответствуют ASCII кодам. Клавиатура выдает скан-коды как на нажатие кнопки так и на отпускание. К тому же есть скан-коды, вообще не имеющие аналогов в ASCII, например, функциональные кнопки, CTRL, ALT, PrintScreen и прочие. Потому я и спросил, какие именно коды вас интересуют? Самое простое преобразование для данного случая - табличное. Берете две таблицы: таблицу скан-кодов и таблицу ASCII и составляете третью таблицу, где номер позиции ASCII-символа соответствует скан-коду. Тут работы на час с двумя перекурами по 10 минут.
|
|
|
|
|
Dec 18 2008, 06:45
|

Беспросветный оптимист
     
Группа: Свой
Сообщений: 4 640
Регистрация: 26-12-07
Из: Н.Новгород
Пользователь №: 33 646

|
Может я конечно туплю с утра, но вот это разве не скан-коды? CODE Scancodes.h // Нижние символы flash unsigned char unshifted[][2] = { 0x0d,9, 0x0e,'|', 0x15,'q', 0x16,'1', 0x1a,'z', 0x1b,'s', 0x1c,'a', 0x1d,'w', 0x1e,'2', 0x21,'c', 0x22,'x', 0x23,'d', 0x24,'e', 0x25,'4', 0x26,'3', 0x29,' ', 0x2a,'v', 0x2b,'f', 0x2c,'t', 0x2d,'r', 0x2e,'5', 0x31,'n', 0x32,'b', 0x33,'h', 0x34,'g', 0x35,'y', 0x36,'6', 0x39,',', 0x3a,'m', 0x3b,'j', 0x3c,'u', 0x3d,'7', 0x3e,'8', 0x41,',', 0x42,'k', 0x43,'i', 0x44,'o', 0x45,'0', 0x46,'9', 0x49,'.', 0x4a,'-', 0x4b,'l', 0x4c,'ш', 0x4d,'p', 0x4e,'+', 0x52,'ж', 0x54,'е', 0x55,'\\', 0x5a,13, 0x5b,'Ё', 0x5d,'\'', 0x61,'<', 0x66,8, 0x69,'1', 0x6b,'4', 0x6c,'7', 0x70,'0', 0x71,',', 0x72,'2', 0x73,'5', 0x74,'6', 0x75,'8', 0x79,'+', 0x7a,'3', 0x7b,'-', 0x7c,'*', 0x7d,'9', 0,0 }; // Верхние символы flash unsigned char shifted[][2] = { 0x0d,9, 0x0e,'§', 0x15,'Q', 0x16,'!', 0x1a,'Z', 0x1b,'S', 0x1c,'A', 0x1d,'W', 0x1e,'"', 0x21,'C', 0x22,'X', 0x23,'D', 0x24,'E', 0x25,'¤', 0x26,'#', 0x29,' ', 0x2a,'V', 0x2b,'F', 0x2c,'T', 0x2d,'R', 0x2e,'%', 0x31,'N', 0x32,'B', 0x33,'H', 0x34,'G', 0x35,'Y', 0x36,'&', 0x39,'L', 0x3a,'M', 0x3b,'J', 0x3c,'U', 0x3d,'/', 0x3e,'(', 0x41,';', 0x42,'K', 0x43,'I', 0x44,'O', 0x45,'=', 0x46,')', 0x49,':', 0x4a,'_', 0x4b,'L', 0x4c,'Ш', 0x4d,'P', 0x4e,'?', 0x52,'Ж', 0x54,'Е', 0x55,'`', 0x5a,13, 0x5b,'^', 0x5d,'*', 0x61,'>', 0x66,8, 0x69,'1', 0x6b,'4', 0x6c,'7', 0x70,'0', 0x71,',', 0x72,'2', 0x73,'5', 0x74,'6', 0x75,'8', 0x79,'+', 0x7a,'3', 0x7b,'-', 0x7c,'*', 0x7d,'9', 0,0 };
Ё-моё, как прокрутку прикрутить, чтобы не на весь лист было? где-то обсуждали недавно... gotty, thnks. Понял.
--------------------
Программирование делится на системное и бессистемное. ©Моё :) — а для кого-то БГ — это Bill Gilbert =)
|
|
|
|
|
Dec 18 2008, 07:47
|
Знающий
   
Группа: Свой
Сообщений: 526
Регистрация: 24-08-07
Из: Беларусь, Минск
Пользователь №: 30 045

|
Цитата(MrYuran @ Dec 18 2008, 08:45)  Ё-моё, как прокрутку прикрутить, чтобы не на весь лист было? где-то обсуждали недавно... CODE Scancodes.h // Нижние символы flash unsigned char unshifted[][2] = { 0x0d,9, 0x0e,'|', 0x15,'q', 0x16,'1', 0x1a,'z', 0x1b,'s', 0x1c,'a', 0x1d,'w', 0x1e,'2', 0x21,'c', 0x22,'x', 0x23,'d', 0x24,'e', 0x25,'4', 0x26,'3', 0x29,' ', 0x2a,'v', 0x2b,'f', 0x2c,'t', 0x2d,'r', 0x2e,'5', 0x31,'n', 0x32,'b', 0x33,'h', 0x34,'g', 0x35,'y', 0x36,'6', 0x39,',', 0x3a,'m', 0x3b,'j', 0x3c,'u', 0x3d,'7', 0x3e,'8', 0x41,',', 0x42,'k', 0x43,'i', 0x44,'o', 0x45,'0', 0x46,'9', 0x49,'.', 0x4a,'-', 0x4b,'l', 0x4c,'ш', 0x4d,'p', 0x4e,'+', 0x52,'ж', 0x54,'е', 0x55,'\\', 0x5a,13, 0x5b,'Ё', 0x5d,'\'', 0x61,'<', 0x66,8, 0x69,'1', 0x6b,'4', 0x6c,'7', 0x70,'0', 0x71,',', 0x72,'2', 0x73,'5', 0x74,'6', 0x75,'8', 0x79,'+', 0x7a,'3', 0x7b,'-', 0x7c,'*', 0x7d,'9', 0,0 }; // Верхние символы flash unsigned char shifted[][2] = { 0x0d,9, 0x0e,'§', 0x15,'Q', 0x16,'!', 0x1a,'Z', 0x1b,'S', 0x1c,'A', 0x1d,'W', 0x1e,'"', 0x21,'C', 0x22,'X', 0x23,'D', 0x24,'E', 0x25,'¤', 0x26,'#', 0x29,' ', 0x2a,'V', 0x2b,'F', 0x2c,'T', 0x2d,'R', 0x2e,'%', 0x31,'N', 0x32,'B', 0x33,'H', 0x34,'G', 0x35,'Y', 0x36,'&', 0x39,'L', 0x3a,'M', 0x3b,'J', 0x3c,'U', 0x3d,'/', 0x3e,'(', 0x41,';', 0x42,'K', 0x43,'I', 0x44,'O', 0x45,'=', 0x46,')', 0x49,':', 0x4a,'_', 0x4b,'L', 0x4c,'Ш', 0x4d,'P', 0x4e,'?', 0x52,'Ж', 0x54,'Е', 0x55,'`', 0x5a,13, 0x5b,'^', 0x5d,'*', 0x61,'>', 0x66,8, 0x69,'1', 0x6b,'4', 0x6c,'7', 0x70,'0', 0x71,',', 0x72,'2', 0x73,'5', 0x74,'6', 0x75,'8', 0x79,'+', 0x7a,'3', 0x7b,'-', 0x7c,'*', 0x7d,'9', 0,0 };
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|