User Tag List

Страница 5 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя
Показано с 41 по 50 из 107

Тема: Вектор-06Ц. подключение USB-мыши.

  1. #41

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

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Просто за 20мс в счётчике может накопиться 10бит-ное значение
    В последнем посте я как раз об этом.

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

  2. #42

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    В последнем посте я как раз об этом.

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

  3. #43

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

    По умолчанию

    Решил погуглить по поводу чувствительности сенсора мыши.
    Ни когда не задумывался, оказывается есть такой параметр DPI, и он от 400 до 5000 dpi (пикселей на дюйм), если верить хухлу.
    И моя мышь имеет 1200dpi, собственно около 480 пикселей на 1см.
    Значит с реальным "контроллером мыши", с разными мышами, скорости перемещения могут отличаться.

  4. #44

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

    По умолчанию

    Обновил вложение в первом сообщении.
    Заменил исходники на актуальную версию теста контроллера с 9-ю регистрами.

    Где-то я аркрноида адаптировал под PS/2-мыщь, найду, переделаю под порт D4h.

    Этот пользователь поблагодарил KTSerg за это полезное сообщение:

    svofski(18.08.2024)

  5. #45

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

    По умолчанию

    Не понимаю, зачем и 4-5 и 6-7. При желании можно преобразовывать в векторе или "процедурно" или таблицей, если нужно побыстрее. Вместо этого точно полезнее добавить младшие части смещений.

  6. #46

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

    По умолчанию

    Цитата Сообщение от ivagor Посмотреть сообщение
    Не понимаю, зачем и 4-5 и 6-7. При желании можно преобразовывать в векторе или "процедурно" или таблицей, если нужно побыстрее. Вместо этого точно полезнее добавить младшие части смещений.
    Ну "понесло" меня на разнообразие представления одних и тех-же данных...
    Думал ещё выделить регистры для эмуляции формата джойскиков. Типа при смещении мыши со скоростью больше некоего значения (для защиты от дребезга) - выставлять в регистрах соответствующие джойстикам биты направлений и кнопок.
    Но пока продолжаю считать, что джойстик из мыши - совсем не юзабельная фигня.

    Свободные регистры есть, могу и эти (отрезанные от смещения) 3 бита воткнуть в отдельные регистры.
    Только что туда будут передавать в эмуляторах (если эмуляция контроллера появится) ?
    При эмуляции ведь этих "отрезанных бит" не будет.

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

    Будешь дразнить, я в этот контроллер ещё и USB-клавиатуру воткну... хотя пока не собирался

    Во вложении первого сообщения добавил адаптированный под контроллер вариант "arkanoid".

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

    Я тут где-то пургу нёс про представление смещения в PS/2-мышах...
    Откудава я взял, что там только положительные значения, а флаг направления отдельно - я не имею представления
    В PS/2-мышах, смещение также как в usb-мышах, 8бит целое со знаком (-128 ... +127), и ещё (не понятно для чего) отдельно флаг "отрицательного значения".
    Последний раз редактировалось KTSerg; 18.08.2024 в 12:50.

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

  8. #47

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

    По умолчанию

    К адаптации старых программ под мышь отношусь умеренно скептически. Что имеет смысл адаптировать - (нормальные) графические редакторы (наверно Draw и хватит) и подходящие игры, типа Minesweeper, Ветка, карточные и игры на доске (шахматы, шашки, реверси и т.п.).
    Цитата Сообщение от KTSerg Посмотреть сообщение
    Свободные регистры есть, могу и эти (отрезанные от смещения) 3 бита воткнуть в отдельные регистры.
    Только что туда будут передавать в эмуляторах (если эмуляция контроллера появится) ?
    При эмуляции ведь этих "отрезанных бит" не будет.
    Если правильно сделать эмуляцию, то там будет примерно то же самое, что и в железном контроллере.

  9. #48

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Я сейчас глянул на тему чуть более внимательно, чем раньше, потому что у меня заработала USB-клавиатура и я потихоньку морально готовлюсь к тому, чтобы может быть подключить и мышь. Но пока по-моему сыровато. Интересно ставить эксперименты, они должны что-то показать, но в конце труха должна отпасть и должен остаться один ясный и понятный способ. Проблему адаптации старых программ я понимаю, но разделяю здоровый скепсис ivagor-a, поэтому не хочется делать калеку ради того, чтобы адаптировать две-три старые программы.

    Предлагаю смещения передавать в таком виде:
    * X смещение со знаком / 8
    * X смещение со знаком % 8
    * Y смещение со знаком / 8
    * Y смещение со знаком % 8
    Это даст перемещения с удобной для Вектора скоростью и точность для тех случаев, где она может быть понадобится.

    Про абсолютные координаты я уже не раз высказывался, но вижу, что эта идея не умрет просто так от моего напряженного взора. В конце концов мне не жалко.

    Объясни, почему в эмуляции должны возникнуть какие-то проблемы с младшими битами?
    Больше игр нет

  10. #49

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

    По умолчанию

    Цитата Сообщение от svofski Посмотреть сообщение
    ...
    Объясни, почему в эмуляции должны возникнуть какие-то проблемы с младшими битами?
    Если этот вопрос ко мне, то разве я говорил, что при эмуляции могут возникнуть какие-то проблемы с младшими битами скорости перемещения мыши?
    Я говорил о том, что для эмуляторов Вектора они не пригодятся, а с реальным контроллером, при их использовании курсор мыши становится слишком чувствительным к перемещениям самой мыши, и носится по экрану как угорелый, не возможно точно позиционировать. Вот и пришлось "замедлять" до "комфортной" скорости, отбрасывая 3 младших бита скорости.

    Эти 3 младшие бита "скорости" - это 3 младших бита чувствительности сенсора мыши.
    Обычная мышь имеет чувствительность 1200 пикселей на 2.5см (дюйм) смещения.
    Обычный экран РС (при разрешении 1280х1024) курсор мыши пробегает за 2.5 см смещения мыши по коврику, это если в настройках не снижена чувствительность мыши. Обычно мышь нужно сместить примерно на 5 см.
    У реального Вектора экран 256х256, при обычной чувствительности сенсора, курсор будет пробегать от края до края за 0.53см смещения мыши по коврику.
    Вопрос: Это очень удобно?
    Я в реальном контроллере, отбросил 3 младшие бита "скорости", т.е. чувствительности сенсора, и получил чувствительность 150 пикселей на 2.5см смещения мыши по коврику.
    Т.е. экран Вектора 256 пикселей курсор будет проходить за чуть меньше 5см смещения мыши (300 пикселей за 2 дюйма смещения).
    Эта скорость очень сильно отличается от скорости смещения мыши по экрану РС ?

    Нет, я конечно понимаю, что сейчас только я пользуюсь старым монитором с разрешением 1280х1024, а почти у всех остальных мониторы с разрешением 3840 x 2160 и всем пользователям эмулятора Вектора понадобится точно позиционировать каждую 1/64 площади каждого пикселя на экране Вектора, для этого им нужны будут эти 3 отброшенные бита скорости.
    И я повторюсь, мне не жалко.
    Последний раз редактировалось KTSerg; 19.08.2024 в 10:23.

  11. #50

    Регистрация
    20.06.2007
    Адрес
    С.-Петербург
    Сообщений
    4,299
    Спасибо Благодарностей отдано 
    1,028
    Спасибо Благодарностей получено 
    813
    Поблагодарили
    484 сообщений
    Mentioned
    26 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от KTSerg Посмотреть сообщение
    Если этот вопрос ко мне, то разве я говорил, что при эмуляции могут возникнуть какие-то проблемы с младшими битами скорости перемещения мыши?
    Я неточно выразился. Но ты сказал, что:
    Цитата Сообщение от KTSerg Посмотреть сообщение
    Только что туда будут передавать в эмуляторах (если эмуляция контроллера появится) ?
    При эмуляции ведь этих "отрезанных бит" не будет.
    Исправляю вопрос -- почему не будет отрезанных бит при эмуляции? Потому что координаты курсора в сообщениях винды привязаны к пикселям? Тут тоже есть много деталей. Как ты точно подметил, сейчас мало кто может позволить себе запустить эмулятор с увеличением 1х на современных мониторах, так что 1/4 пикселя будет не редкость. Кроме того, перемещения курсора можно получать через WM_INPUT и они будут в нативном разрешении мыши, ну или по крайней мере в каком-то минимально пережеванном. Это может быть нужно не для супбиксельного позиционирования курсора, а для плавного движения какого-нибудь предмета в игре, например.
    Больше игр нет

Страница 5 из 11 ПерваяПервая 123456789 ... ПоследняяПоследняя

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

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

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

Похожие темы

  1. Ответов: 574
    Последнее: 23.08.2024, 09:14
  2. Ответов: 82
    Последнее: 04.07.2022, 12:10
  3. Ответов: 1
    Последнее: 27.04.2022, 11:52
  4. Ответов: 15
    Последнее: 20.01.2022, 17:03
  5. Ответов: 4
    Последнее: 23.06.2016, 00:02

Ваши права

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