nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 25 Sep 2018 01:47



Reply to topic  [ 8 posts ] 
FAQ. Контроллер клавиатуры для Специалист-а на ATMega 
Author Message
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
http://www.spetsialist-mx.ru/Soft/Specialist_PS2.rar

На клавиатуре есть клавиша переключающая режимы MX/Стандарт.

Это кнопка так же настраивается и имеет код 8192. Можно через HTML-программу настройки посмотреть и изменить все соответствия. Можно менять эту клавишу во время работы.

Когда включен MX режим, тогда горит светодиод CAPS LOCK. За это отвечает код:

Code:
if(mode1 & M_MX   ) v_leds += 4; // caps lock


Этот флаг M_MX устаналивается в обработчике нажатий:

Quote:
// Нажата кнопка переключения раскладок
if(decode[v_a] & K_MXMODE) mode1 ^= M_MX;


И когда он установлен, то алгоритм меняет некоторые клавиши

Code:
if(mode1 & M_MX) {
        v_u &= 0x7F;
        if(v_u==0x6) v_u = 0x5D; else // ESC => F1
        if(v_u==0x7) v_u = 0x3; else // TAB
        if(v_u==0x5D) v_u=0x5C; else // F1 => F2
        if(v_u==0x5C) v_u=0x59; else // F2 => F3
        if(v_u>=0x51 && v_u<=0x59) v_u--; // F3..F11 => F4..F12
}


Если я тут напутал, то можно поправить.


13 Jan 2017 02:05
Profile WWW
Doomed

Joined: 06 Oct 2006 04:17
Posts: 516
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Вот и автор появился, привет Алексей!

Значит ты писал про МХ режим. Как лучше поступить - программировать соответствие клавиш с клавиатуры или сразу в прошивку залить вот эти смещения: F1-> F2 и так далее?

В Специалисте_МХ2 тест клавиатуры в тесте Рюмика висит, в чём может быть дело?

_________________
:arrow: Сайт о ПК "Специалист" и его клонах


13 Jan 2017 06:18
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
fifan wrote:
Вот и автор появился, привет Алексей!

Значит ты писал про МХ режим. Как лучше поступить - программировать соответствие клавиш с клавиатуры или сразу в прошивку залить вот эти смещения: F1-> F2 и так далее?


Эти смещения там были изначально. Они там есть. Ты точно включил режим MX? Когда он включен, горит CAPS LOCK.

И я мог ошибиться в этом коде. Может быть надо было сдвинуть на два разряда. Или сдвинуть не в ту сторону. Хотя я проверял. Всё работало.

fifan wrote:
В Специалисте_МХ2 тест клавиатуры в тесте Рюмика висит, в чём может быть дело?


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


13 Jan 2017 08:55
Profile WWW
Doomed

Joined: 06 Oct 2006 04:17
Posts: 516
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
Нет в режиме МХ сдвиг клавиш нужен вправо на одну. Я нажимаю F1 адаптер не реагирует, нажимаю F2 срабатывает F1. Тоже самое F7 -> F6.

_________________
:arrow: Сайт о ПК "Специалист" и его клонах


13 Jan 2017 23:07
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
fifan wrote:
Нет в режиме МХ сдвиг клавиш нужен вправо на одну. Я нажимаю F1 адаптер не реагирует, нажимаю F2 срабатывает F1. Тоже самое F7 -> F6.


Этот сдвиг выполняет код:

Code:
if(v_u==0x5D) v_u=0x5C; else // F1 => F2
if(v_u==0x5C) v_u=0x59; else // F2 => F3
if(v_u>=0x51 && v_u<=0x59) v_u--; // F3..F11 => F4..F12


Этот код рабоатет, когда горит CAPS_LOCK. CAPS_LOCK горит?


14 Jan 2017 03:50
Profile WWW
Doomed

Joined: 06 Oct 2006 04:17
Posts: 516
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
alemorf wrote:
Этот код рабоатет, когда горит CAPS_LOCK. CAPS_LOCK горит?

Само собой горит, я по светодиоду сужу о переходе в МХ раскладку.

_________________
:arrow: Сайт о ПК "Специалист" и его клонах


14 Jan 2017 05:33
Profile WWW
Senior

Joined: 03 Jan 2017 09:58
Posts: 136
Location: SPb
Reply with quote
fifan wrote:
alemorf wrote:
Этот код рабоатет, когда горит CAPS_LOCK. CAPS_LOCK горит?

Само собой горит, я по светодиоду сужу о переходе в МХ раскладку.


Что реально нажимается при нажатии клавиш F1,F2,F3 в режиме МХ и обычном?


14 Jan 2017 06:14
Profile WWW
Doomed

Joined: 06 Oct 2006 04:17
Posts: 516
Location: г.Лянтор,Сургутского р-на,ХМАО
Reply with quote
В обычном режиме не помню, нужно комп включать, а вот в МХ как я и сказал влево на одну клавишу, т.е. я хочу перейти в ROM-диск (F6), нажимается F5 - редактор.

_________________
:arrow: Сайт о ПК "Специалист" и его клонах


14 Jan 2017 06:18
Profile WWW
Display posts from previous:  Sort by  
Reply to topic   [ 8 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.