Реализация аккордной клавиатуры.

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

  1. bota

    bota New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2008
    Сообщения:
    2
    Стоит задача на основе цифровой клавиатуры(Num Lock жел-но выключен) реализовать аккордную, позволяющую чипятать одной правой. Возможен вариант с покупкой цифрового блока отдельно, втыкаемого в USB. В обоих случаях требуется, чтобы при нажатии клавиши или комбинации из двух-трех происходила генерация символа(хотя комбинации из трёх - это борщ, комбинаций из двух клавиш 10!, если комбинаторика меня не подводит-только вот комбинации должны быть для нажатия удобные)
    Мне видятся следующие пути решения:
    1. Аппаратная реализация. Паять что-то несусветно-логически-сложное на готовой клавиатуре. Я наверно до такого не доросту никогда:dntknw: Хотя... если руки золотые, какая разница откуда они растут!
    2. Написание программы на асме или на другом каком языке. Тут непонятно, как из нескольких нажатых клавиш генерировать один символ. А если-таки символ сгенерирован, то каким образом программа перенаправит его в нужный фокус ввода?
    3. Написание хитрого драйвера для отдельного цифрового блока после покупки оного. Либо что-то мудрить с драйверами уже имеющейся клавиатуры. И это было бы, конечно, очень круто. Только такого я никогда не делал. Очень замечательно, если поведаете с чего можно тут начать и что почитать.
    Эта тема заинтересовала меня после прочтения статьи
    http://offline.computerra.ru/2005/618/243768/
    Сейчас я печатаю вслепую, а если одной рукой смогу это делать, то савсем будет хорошо. Препод предлагает взять разработку аккордной клавы в качестве курсовой. Я вот пока думаю.
    Наведите на путь истины:)
     
  2. device

    device Reflection

    Публикаций:
    0
    Регистрация:
    26 апр 2007
    Сообщения:
    1.198
    Адрес:
    RF
    Если есть Linux, Открой текстовый редактор и набери Hello World потом <Ctrl>+<Shift>+1+0
    Чтоб было более понятно, набери <ctrl>+<shift>+4+d
     
  3. bota

    bota New Member

    Публикаций:
    0
    Регистрация:
    5 фев 2008
    Сообщения:
    2
    Так-то оно так. Только и в виндовузе есть подобная крень через альт.
    Но смотри: допустим сочетание alt+1+2 (получаем "♀") не то же самое что alt+2+1(получаем "§"). Ты это же имел в виду? Не хочется сейчас ползти в Linux, я не очень активно его пользую.
     
  4. l_inc

    l_inc New Member

    Публикаций:
    0
    Регистрация:
    29 сен 2005
    Сообщения:
    2.566
    ИМХО никакие драйвера, а уж тем более аппаратные реализации не нужны.
    VB будет вполне достаточно. Обычная маленькая программка, висящая незаметно в памяти, регистрирует в системе горячих клавиш на всю PAD-клавиатуру. Ну а дальше дело техники: для каждой клавиши флаг. Как только набирается два флага, пользуемся keybd_event, генерирующей нажатие соответствующей клавиши. Вместо keybd_event можно воспользоваться (Send/Post)message, но тогда нужно будет просто поискать окошко, имеющее фокус.
    ИМХО пишется в течение часа и на курсовую не тянет.