User Tag List

Показано с 1 по 10 из 202

Тема: Вектор06Ц, клава и мышь PS/2 через "ПУ"

Комбинированный просмотр

Предыдущее сообщение Предыдущее сообщение   Следующее сообщение Следующее сообщение
  1. #1

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    Эмуляторы мыша уж как-нибудь изобразить смогут, было бы что изображать.
    Осмысленный контроллер должен иметь два порта на которых будет постоянно обновляющаяся дельта перемещения +-127. Наверное прекрасно хватило бы и одного порта, допустим старший бит признак X/Y, а младшие 7 +- 63 дельта.
    Потому и говорил, что скорее всего понадобится ТРИ порта, так как если перемещения засунуть в один байт, то разрядность перемещения получится слишком маленькая, а ведь нужно ещё состояние кнопок получать.


    Цитата Сообщение от ivagor
    В идеале - да. Но все зависит от задач, например для редактора шрифтов текущий вариант вполне нормальный, там ограничивающим фактором является скорость человека. А вот для требовательных игрушек типа warcraft или wolf 1/10 времени на опрос мыши - непозволительная роскошь. Другое дело, что таких игрушек для вектора не будет, а редактор шрифтов - вот он, осталось добавить туда мышь.
    Ну, с реал-тайм активными игрушками, как ни жаль, на Векторе будет тяжеловато, из-за известных причин...
    А вот что-то типа пошаговых стратегий, где персу нужно указать, куда пойти, что взять, и т.п. ... даже без контроллера, подключенной к "ПУ" мыши вполне достаточно, и игровой процесс будет "приятнее", я так думаю...

  2. #1
    С любовью к вам, Yandex.Direct
    Размещение рекламы на форуме способствует его дальнейшему развитию

  3. #2

    Регистрация
    07.08.2008
    Адрес
    г. Уфа
    Сообщений
    8,389
    Спасибо Благодарностей отдано 
    763
    Спасибо Благодарностей получено 
    2,367
    Поблагодарили
    1,317 сообщений
    Mentioned
    38 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    скорее всего понадобится ТРИ порта
    Если минимизировать число портов для чтения, то достаточно двух - в одном выбор номера (в него запись) в другом - данные выбранного номера (отсюда читаем).

  4. #3

    Регистрация
    22.02.2014
    Адрес
    г. Курган
    Сообщений
    1,706
    Спасибо Благодарностей отдано 
    275
    Спасибо Благодарностей получено 
    318
    Поблагодарили
    222 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Если минимизировать число портов для чтения, то достаточно двух - в одном выбор номера (в него запись) в другом - данные выбранного номера (отсюда читаем).
    Ну, в таком случае и одного порта достаточно.
    На запись - выбор данных.
    Чтение - данные с мыши.
    Но если нужна оптимизация и скорость, зачем тратить ресурсы на запись в порт, если можно просто читать из заранее определённых портов.

    - - - Добавлено - - -

    Цитата Сообщение от svofski Посмотреть сообщение
    +- 64 точки, то есть четверть экрана, за 1/50 секунды это совсем не маленькая разрядность по-моему. Буду рад увидеть софт, который демонстрирует недостаточность такой разрядности. Но кнопки конечно да, без кнопок никак.
    Често говоря, за 4 года, я уже забыл, сколько разрядов данных мыши я использовал в тестовой программе, которая гоняет графический курсор по экрану.

  5. #4

    Регистрация
    01.03.2011
    Адрес
    Stamford
    Сообщений
    336
    Спасибо Благодарностей отдано 
    46
    Спасибо Благодарностей получено 
    49
    Поблагодарили
    20 сообщений
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Потому и говорил, что скорее всего понадобится ТРИ порта, так как если перемещения засунуть в один байт, то разрядность перемещения получится слишком маленькая, а ведь нужно ещё состояние кнопок получать.
    Наверное можно из регистра "состояния кнопок" сделать статус регистр c 2 зарезервированными битами: изменение по x > x_threshold, изменение по y > y_threshold. Ну и добавить control register сквозной, в котором 1 bit под координату и 7 под threshold. 2 записи в control reg для установки thresholds по x и по y

    Тогда если мышь не движется или threshold не достигнут, достаточно поллить один регистр "умного контроллера". Mouse clicks будут свежие каждые 20ms, а набежавшие cмещения надо читать только по появлению бита в статус регистре. Чтение должно ессно гасить соответствующий бит.

    Можно вообще грубую схему сделать, где под координату 2 бита в статус регистре: один из них бит знака, другой - признак превышения порога смещения. Но это уже дискретный джойстик с фильтром получается.

    Вообще, плясять наверное стоит от софта. Хотелось бы хоть на эмуле поглядеть как это будет с софтиной сопрягаться. Там свои некоторые хитрости (если мы про окна и редактор фонтов). Ничего принципиально нерешаемого нет, но придется делать несколько обработчиков маус кликов:
    - в menuitem data для получения соответствующего кода акселератора
    - в клик над видимой областью окна (для кнопок и overlapped окон)
    Но это детали

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 57
    Последнее: 23.09.2020, 02:22
  2. Ответов: 19
    Последнее: 23.11.2015, 21:24
  3. Ответов: 6
    Последнее: 12.02.2010, 23:16
  4. Ответов: 6
    Последнее: 20.11.2007, 11:29
  5. Клава "Байта"
    от andreil в разделе Устройства ввода
    Ответов: 1
    Последнее: 04.08.2005, 11:25

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •