nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 20 Oct 2019 05:35



Reply to topic  [ 52 posts ]  Go to page Previous  1, 2, 3, 4
Подключение PS/2 клавиатуры через COM порт 
Author Message
Admin
User avatar

Joined: 09 Jan 2003 00:22
Posts: 18032
Location: Colorado
Reply with quote
Lavr wrote:
To есть, так получается, что ASCII Serial KeyBoard - это "кто во что горазд"? :roll:

Я имел ввиду пальмовые клавки - они стопудово кто во что...

_________________
:eugeek: https://twitter.com/Shaos1973


18 Jul 2019 23:50
Profile WWW
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 345
Location: Ставрополь
Reply with quote
Lavr wrote:
Но возникает ряд вопросов: как, примеру, ASCII Serial KeyBoard передаст код от клавиши [PrntScreen]?
Или тот же [Ctrl]+[Alt]+[Del] как ASCII Serial KeyBoard сможет передать?


Я не думаю, что от ASCII-ввода можно ждать всех новых фишек, что обеспечивают современные клавиатуры, всё же в те времена их не существовало и не было необходимости. Это потом мы привыкли к "сервису" и желаем, чтобы "старики" нам делали то же самое ;) Поэтому кмк, современные клавиатуры, даже подключенные через различные адаптеры, будут обеспечивать урезанную функциональность по сравнению со своими возможностями.
Тем не менее, как показало гугление, альтернативный ввод до сих пор используется достаточно активно, в том числе и в онлайн-кассах (сканеры штрих-кодов в частности). Но большинство устройств используется только для ASCII-ввода как эмулятор клавиатуры (!). А определение какое устройство и что передало, осушествляется так называемыми суффиксами и префиксами (не разбирался программно, но, как я понял, это вылавливание специальных цепочек символов). Поэтому, если стоит задача передать новомодные плюшки по СОМ-порту, типа Принтскрин, то должен быть написан программный драйвер этой функции для компа. Но каждый пишет только что ему конкретно нужно...
Исходя из этого не думаю, что получится найти в недрах Сети что-то универсальное, проще это написать самостоятельно, но два вопроса: 1) оно кому надо? и 2) поддержка альтернативы в винде уже по сути выпилена, а это - массовый потребитель). Что в Линуксе - не в курсе.


19 Jul 2019 01:52
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
...как показало гугление, альтернативный ввод до сих пор используется достаточно активно, в том числе и в онлайн-кассах (сканеры штрих-кодов в частности).
...
Исходя из этого не думаю, что получится найти в недрах Сети что-то универсальное, ...

В общем-то в недрах Сети что-то универсальное уже найдено и даже не в одном экземпляре.
Мелкомягкие почему-то решили, начиная с Висты, свалить поддержку альтернативных устройств
на сторонних производителей, а у себя вставили на это место голосовую поддержку...
При этом сами же M$ в своём "трабблшуттинге" дают рекомендации - какой сторонний бесплатный
софт способен на поддержку альтернативных устройств ввода.

В лоб я вижу решение только такое: у меня 2 ноутбука с Вендой 98 и Вендой 7. Венда 98 поддерживает
альтернатиные устройства - соединить нутбуки по COM-портам и запустить под Вендой 7 терминалку.
Через терминалку подавать коды и смотреть, как на них реагирует драйвер ввода с альтернативных
устройств под Вендой 98...
Только вот хотелось этого гимора избежать... :-?


P.S. Еще один вариант перекодировки PS/2 -> ASCII нашел вот здесь:
http://wearcam.org/seatsale/programs/www.beyondlogic.org/keyboard/keybrd.htm

_________________
iLavr


19 Jul 2019 08:21
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
Я не думаю, что от ASCII-ввода можно ждать всех новых фишек, что обеспечивают современные клавиатуры, всё же в те времена их не существовало и не было необходимости.

Прямой вопрос: как ASCII-клавиатура передает коды стрелок курсора, а также PgUP и PgDOWN?
Управление курсором, фишка, пожалуй, не такая уж и новая...

_________________
iLavr


06 Aug 2019 08:36
Profile
Doomed
User avatar

Joined: 13 Nov 2007 12:09
Posts: 345
Location: Ставрополь
Reply with quote
Прямой ответ - никак, поскольку на ASCII-клавах таких клавиш не было изначально.
Скакание курсором по экрану делалось через Ctrl-коды (в основном S,D,E,X), но особого "стандарта" я не наблюдаю (исходя из СР/М-ных программ).
Для примера цитата из хелпа редактора SED:
^S НА СИМВОЛ ВЛЕВО
^D НА СИМВОЛ ВПРАВО
^E НА СТРОКУ ВВЕРХ
^X НА СТРОКУ ВНИЗ
^R НА СТРАНИЦУ ВВЕРХ
^C НА СТРАНИЦУ ВНИЗ
В WordStar'е примерно аналогично.

С другой стороны, существовала отечественная клавиатура типа 15ВВВ-97-005/006, в ней клавиши курсора были. Когда я делал прошивку в свой адаптер ( viewtopic.php?f=67&t=19327 ) для "Ириши", то поддержку стрелок (и только их) сделал, но коды брал из книжки про этот комп.
В исходнике это выглядело так (что передаётся на "Иришу"):
SC_CURSOR_LEFT, 0x1a,
SC_CURSOR_RIGHT, 0x19,
SC_CURSOR_DOWN, 0x1d,
SC_CURSOR_UP, 0x1c,


06 Aug 2019 10:57
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
rw6hrm wrote:
Прямой ответ - никак, поскольку на ASCII-клавах таких клавиш не было изначально.
Вот тут меня и гложут сомнения: есть фирменные клавиатуры IBM, где такие клавиши издавна были.
Но за давностью времени информации по ним нет, попадались лишь пару раз на Е-бей...

rw6hrm wrote:
Скакание курсором по экрану делалось через Ctrl-коды (в основном S,D,E,X), но особого "стандарта" я не наблюдаю (исходя из СР/М-ных программ).
Для примера цитата из хелпа редактора SED:
^S НА СИМВОЛ ВЛЕВО
^D НА СИМВОЛ ВПРАВО
^E НА СТРОКУ ВВЕРХ
^X НА СТРОКУ ВНИЗ
^R НА СТРАНИЦУ ВВЕРХ
^C НА СТРАНИЦУ ВНИЗ
В WordStar'е примерно аналогично.
С таким работать приходилось - но это зависит от программы.

rw6hrm wrote:
С другой стороны, существовала отечественная клавиатура типа 15ВВВ-97-005/006, в ней клавиши курсора были.
...
В исходнике это выглядело так (что передаётся на "Иришу"):
SC_CURSOR_LEFT, 0x1a,
SC_CURSOR_RIGHT, 0x19,
SC_CURSOR_DOWN, 0x1d,
SC_CURSOR_UP, 0x1c,

Забавно... видимо - тоже отсебятина... популярным было вот такое соглашение:
Quote:
08h - перевод курсора влево на одну позиции.
0Ah - перевод курсора на строку вниз с установкой в начало строки, если курсор на нижней строке, то осуществляется сдвиг экрана вверх на строку, нижняя строка очищается, и курсор устанавливается в начало строки.
0Сh - перевод курсора в начало экрана.
0Dh - перевод курсора в начало строки.
18h - перевод курсора вправо на одну позиций.
19h - перевод курсора на строку вверх с установкой в начало строки, если курсор на верхней строке, то осуществляется сдвиг экрана вниз на строку, верхняя строка очищается, и курсор устанавливается в начало строки.
1Ah - перевод курсора на строку вниз, если курсор на нижней строке, то устанав-ливает его в начало строки и сдвигает экран вверх на строку, нижняя строка очищается.

Но это опять же вступает в некоторое противоречие с ASCII...

_________________
iLavr


06 Aug 2019 16:28
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 09:08
Posts: 7777
Location: Россия
Reply with quote
Lavr wrote:
rw6hrm wrote:
Прямой ответ - никак, поскольку на ASCII-клавах таких клавиш не было изначально.
Вот тут меня и гложут сомнения: есть фирменные клавиатуры IBM, где такие клавиши издавна были.

Возможно, существует некая путаница в терминах, но вот - типичый пример того, о чем я говорю:
Wyse ASCII Keyboard
Attachment:
042ba1eb.jpg
042ba1eb.jpg [ 118.32 KiB | Viewed 668 times ]

Как мы видим, клавиши курсора есть... и это не единственный пример, если хорошо поискать.

И, кстати, если я не ошибся, то из мануала на эту клавиатуру (в представлении Гугл):
Attachment:
cursor.gif
cursor.gif [ 3.48 KiB | Viewed 668 times ]



P.S. Но с другой стороны в этом же мануале написано следующее:
Quote:
A Wyse 60 will send D0-D3 when the arrow-keys are hit provided the
terminal is in "application key mode".

Но D0-D3 в ASCII-представлении нам совершенно не подходят в качестве кодов курсора...

_________________
iLavr


06 Aug 2019 22:13
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 52 posts ]  Go to page Previous  1, 2, 3, 4

Who is online

Users browsing this forum: No registered users and 0 guests


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.