Отличить вторую цифровую клавиатуру.

Тема в разделе "WASM.BEGINNERS", создана пользователем DarkWanderer, 12 сен 2008.

  1. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    Зреет идея специальной клавиатуры для смайлов. Будет хороший подарок другу.
    Хочу использовать дополнительную клавиатурку цифр, для ноутбуков которая; через usb.
    Для нее должен подгружаться отдельный драйвер, правильно? Как его заменить и куда копать? Драйверы курил только для выхода в ring0.

    Принцип работы. Драйвер смотрит на нажатую клавишу, шлет менеджеру сообщение, тот смотрит таблицу и выдает последовательность символов делая вид, что он основная клава.
     
  2. DEEP

    DEEP Андрей

    Публикаций:
    0
    Регистрация:
    27 апр 2008
    Сообщения:
    491
    Адрес:
    г. Владимир
    2 и более клавиатуры могут уживаться друг с другом, даже без внешних дров.
    попробуйте - это в самом деле работает. по крайней мере в вендах 2К+.

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

    ЗЫ. идея кул =)
     
  3. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    DEEP
    Написать парсер-драйвер, который различает клавиатуры и есть главное.
    Клавиатуры уживаются, согласен. Потому от дополнительной сообщения идут тоже в систему, а нужно гонца напоить, сообщение отобрать и со своим отправить менеджеру.
     
  4. CyberManiac

    CyberManiac New Member

    Публикаций:
    0
    Регистрация:
    2 сен 2003
    Сообщения:
    2.473
    Адрес:
    Russia
    Как альтернатива: взять Microsoft Reclusa или Logitech G15 и запатчить им вусмерть драйвера, чтобы сразу после установки они выдавали твои любимые комбинации.
     
  5. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Имхо контроллер клавы проще прочитать-переписать. Сомневаюсь, что там чтото сложное или спец. Пик какой-нить с прогой на чеверть кила.
     
  6. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Можно даже сделать приставку в виде врезки в провод основной клавиатуры, безо всяких доп. проводов. Ну или если руки совсем хорошо работают, дополнить штатную клавиатуру дополнительными клавишами :)
    Протокол там обычный последовательный синхронный, ничего сложного, в отличие от УПШ.
     
  7. DarkWanderer

    DarkWanderer New Member

    Публикаций:
    0
    Регистрация:
    11 июл 2006
    Сообщения:
    333
    Адрес:
    Барнаул.
    Ыхмых. А если все же не переписывать, а написать?
     
  8. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    DarkWanderer
    вам как минимум надо знать как контроллер с железом работает, какие там задержки, какая синхронизация, как протокол обмена с компом реализован итд. Эти моменты лучше не трогать тк на них завязан драйвер. Надо токо найти таблицу перекодировки и, может быть, перекодировщик и поправить их. Задача одного-двух вечеров (во всяком случае на младших авр). Делаете ерундовину - 4 резистора, 5 проводов, 1 лпт, качаете АВРдуде, авргцц и вытягиваете прошивку и данные - декомпилите - правите. (это все за авр. за пики не знаю) Гдето так. Ну можете еще статью на сайт написать. Спецклава - это интересно. Например команды на кнопках как в спектруме. Или жестко прошитый ен или ру или..
     
  9. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    _basmp_Эти моменты лучше не трогать тк на них завязан драйвер.
    Да нет, сильно строгой точности не требуется. Протокол-то синхронный. Драйвер здесь не при чём, он только разбирает уже готовые данные.
    Помню, наши клавиатуры были сделаны на 1816ВЕ35, а на шинке у него кажется всё-таки стоял демультиплексор для опроса клавиш, точно не помню, но могу в принципе посмотреть, как сделано, если соберётесь делать свою клавиатуру. Вы в каких отношениях с электроникой?
     
  10. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Vov4ick
    Не понял. Вопрос ко мне или к ТС? Если ко мне, то отвечаю - 1816ВЕ35 боюсь как черта. Вообще, из мелких МК люблю только AVR-ки.
     
  11. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    К ТС :) но и вас интересно услышать, в смысле прочесть. КР1816 - это представитель семейства MCS-48, предка MCS-51, к которым относятся и AVR. В принципе ничего страшного, немного менее развитая система команд и меньше наворотов, радует то, что программа именно в ВЕ35 лежит в отдельной ПЗУ и её легко можно например оттуда прочитать для исследования или оперативно заменить, не боясь за сам контроллер.
     
  12. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Vov4ick
    когда-то 51 глянул одним глазом и благополучно пропустил. Вы хотите сказать, что знания о АВР целиком хватит для 51 и 48? Вернее я знаю, что атмел выпускал(ет?) 51 MK, но я имею ввиду attiny и atmega (в особености tiny 13 и 2313).
    пзу - отдельная микруха? И для нее нужен программатор? 5-ю проводками прямо на плате не перебиться?
     
  13. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    _basmp_ Вы хотите сказать, что знания о АВР целиком хватит для 51 и 48?
    По-моему да, хотя я только начал их изучать. Семейства АВР ведь отличаются в основном только набором наворотов на борту.
    пзу - отдельная микруха? А как же. :) Зато с ней можно делать всё, что угодно, не боясь за проц. Программатор нужен для всего. )
     
  14. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Vov4ick
    Дай бог памяти, до 90-й серии атмел штамповал чужие контроллеры, а вот 90-ю разработал сам. От нее и пошли tiny и mega. Она и есть AVR-8.
    Ну так и с авр-кой можно делать что хочешь. 10000 перезаписей на встроеный флэш. Проверяли - больше. А сжег - заменить легко - мк распространенный - стоит $1, обвязки не требует (ну может кондер по питанию).
    5 проводков на lpt порт (на не общие рекомендуют резюки по пару ком). Это программатор?
     
  15. _basmp_

    _basmp_ New Member

    Публикаций:
    0
    Регистрация:
    10 июл 2005
    Сообщения:
    2.939
    Не знаю зачем пишу. Тема не на месте и пост тоже будет не на месте.

    Команды AVR. Для сравнения с ве35
     
  16. letopisec

    letopisec New Member

    Публикаций:
    0
    Регистрация:
    8 авг 2004
    Сообщения:
    228
    Vov4ick
    avr - это не mcs51, это отдельная архитектура. avr производит только atmel, mcs-51 все кому не лень atmel, philips, siemens...
    avr: 90s8535, at90s2313...
    mcs51 at89s2051, at89s8252 и так далее.

    AFAIK 90-ю разработал atmel совместно с iar (производитель компиляторов) для оптимальности С компилера
     
  17. G13

    G13 New Member

    Публикаций:
    0
    Регистрация:
    24 мар 2006
    Сообщения:
    499
    оффтоп раз: Сколько железянщиков-то. А WASM.HARDWARE пуст и сер. 8)

    оффтоп два: AVR-ки рулят! ))

    Тем не менее, надеюсь топикстартер уже наткнулся на идею написать драйвер-фильтр, а не изобретать велосипед. Хотя бы тот же Klog переделать можно. Да и в DDK пример есть…
     
  18. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Иногда велосипед стоит изобрести. Если этот велосипед будет лучше существующих.
     
  19. Y_Mur

    Y_Mur Active Member

    Публикаций:
    0
    Регистрация:
    6 сен 2006
    Сообщения:
    2.494
    Раз речь про USB клаву то всё это по USB стандарту и вообще не стоит в это лезть, имхо лучше взять за основу пример драйвера для USB устройства из ДДК и в нём же посмотреть что идёт с клавы (в окончательном символьном виде, а не на уровне самого USB протокола) и медитировать куда это затем направить.

    Может наши в бородатые годы "по бедности" так и извращались, но сильно сомневаюсь, что современные китайцы повторяют такую нелепость ;)) Для такого массово потребляемого устройства как USB клава гораздо дешевле выпускать спецуху, чем юзать дорогущие PIC, AVR и т.п. тем более перепрограммируемость и другие их навороты там совершенно не нужны.
    Кстати самостоятельная реализация USB на недорогих версиях PIC, AVR геморой тот ещё, хотя для клавы конечно возможно.
     
  20. Vov4ick

    Vov4ick Владимир

    Публикаций:
    0
    Регистрация:
    8 окт 2006
    Сообщения:
    581
    Адрес:
    МО
    Это невозможно. Вы знаете, какие там частоты? Для этого есть контроллеры уже с УПШ на борту. Но я не знаю, можно ли их выдать за клавиатуру.

    Китайца и наши - это две большие разницы. Не сравнивайте даже.