эмулятор джойстика

Discussion in 'Hardware and Software' started by Ivan_004, Oct 30, 2002.

  1. ddt

    ddt Well-Known Member

    Joined:
    May 3, 2000
    Messages:
    384
    Location:
    SPb, Russia
    Пара вопросов:

    Если джой цифровой USB, оно будет работать? А если цифровой в геймпорте? Конкретно хочется заменить выкручивание ручки M$ Сайдвиндера самопальными педалями.

    Когда будет версия для Вынь98?
     
  2. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Хм. Не совсем понял вопрос. Если есть цифровой джой, то будет ли он работать вместе с драйвером? в ВБ нет. Поскольку в ВБ поддерживается только одно игровое устройство. В гейм-порте цифровой джой работать не может. Поскольку сам гейм-порт является аналоговым устройством ввода-вывода. Джой может иметь аналого-цифровой преобразователь. В таком случае скорее всего с ним поставляется и драйвер. Думаю что вряд ли. А чтобы заменить выкручивание ручки педалями, драйвер вообще не нужен. Нужны просто педали и распайка чтобы их подключать вместо 4й оси джоя.
     
  3. sanek-

    sanek- Guest

    Скачал. Раздал своим в итранете. Жду появления эмулятора под Win98, так как сам под именно под этой виндой.
     
  4. --AAA--

    --AAA-- Well-Known Member

    Joined:
    Nov 17, 2002
    Messages:
    94
    Location:
    В пальто...
    2 ВАНЯ_004
    Так когда же версия с инсталяшкой появится?
    З.Ы. Очень ждём. :shuffle:
     
  5. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Инсталяшку делаю. Думаю займет несколько дней. Ничего точнее не могу сказать. По поводу версии 98 - вопрос пока что отркыт. Кстати, есть сайт - http://www.sol.scn.ru/ - там можно скачать рабочую версию под win98, правда колесико не поддерживается пока что.
     
  6. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Да, soljoy - это не моя программа, как вы понимаете.
     
    1 person likes this.
  7. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Народ, просьба к тем кто юзает разные мыши (в особенности USB).
    Посмотрите что у вас прописано в реестре в

    HKEY_LOCAL_MACHINE\current control set\class\{4D36E96F-E325-11CE-BFC1-08002BE10318} - Это mice and outher pointing devices \UpperFilters
     
  8. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    35,166
    Location:
    Russia
    Code:
    REGEDIT4
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}]
    "Class"="Mouse"
    "UpperFilters"=hex(7):6d,6f,75,63,6c,61,73,73,00,00
    @="Mice and other pointing devices"
    "Icon"="-2"
    "Installer32"="SysSetup.Dll,MouseClassInstaller"
    "NoInstallClass"="1"
    "TroubleShooter-0"="hcp://help/tshoot/hdw_mouse.htm"
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}\0000]
    "InfPath"="msmouse.inf"
    "InfSection"="HID_Mouse_Inst"
    "InfSectionExt"=".NT"
    "ProviderName"="Microsoft"
    "DriverDateData"=hex:00,80,62,c5,c0,01,c1,01
    "DriverDate"="7-1-2001"
    "DriverVersion"="5.1.2600.0"
    "MatchingDeviceId"="hid\\vid_046d&pid_c030"
    "DriverDesc"="Logitech USB iFeel Mouse"
     
  9. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    tnks!

    6d,6f,75,63,6c,61,73,73 = mouclass :)
     
  10. --ul--

    --ul-- Well-Known Member

    Joined:
    Jul 15, 2001
    Messages:
    64
    Location:
    Tula, Russia
    Хочеться что бы в играх (конкретнее в Ил2) видно было курсор, без него очень трудно упралять... или на крайний случай центрирование курсора... так же быстрое переключение между эмуляцией джоя и нормальными функциями мыши.
     
    1 person likes this.
  11. Nik

    Nik Member

    Joined:
    May 24, 2001
    Messages:
    11
    Location:
    Orenburg
    Конкретно под Ил-2, чтобы было видно курсор, в файле conf.ini
    строку "mouseUse=2" поменяй на "mouseUse=1", и курсор будет видно постоянно. Толь центрироватся он не будет.
     
    1 person likes this.
  12. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Относительно видимости курсора - см. выше.

    Центрирование.
    Вообще центрирование курсора и цетрирование джойстика (даже если джойстик это мышь) это разные вещи. Т.е. когда ты перемещаешь курсор в край экрана и нажимаешь на кнопку центрирования джойстика, то край экрана будет соответствовать центру. В ВБ эти 2 операции (центрирование мыши и центрирование джойстика) совмещяются при нажатии правой кнопки мыши. В драйвере (jmouse) можно настроить центрирование джойстика, но не центрирование мыши. Т.е. Драйвер способен получать данные от мыши, но не изменять их. А фактически центрирование мыши это изменение положения мышиного курсора. Что касается быстрого переключения между мышью и джоем... вообще можно поставить опцию IGNORE в конфиге и при нажатой кнопке мышь будет работать обычным образом. Но видимо этого недостаточно. В следующую версию включу назначение кнопки отключения мыши. Т.е. она будет работать не по принципу удержания а по принципу двойного нажатия (включил-выключил)
     
  13. -arra-

    -arra- Well-Known Member

    Joined:
    Jan 24, 2000
    Messages:
    3,322
    Location:
    moscow
    Code:
    Windows Registry Editor Version 5.00
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}]
    "Class"="Mouse"
    "UpperFilters"=hex(7):6d,00,6f,00,75,00,63,00,6c,00,61,00,73,00,73,00,00,00,00,\
      00
    @="Mice and other pointing devices"
    "Icon"="-2"
    "Installer32"="SysSetup.Dll,MouseClassInstaller"
    "NoInstallClass"="1"
    "TroubleShooter-0"="hcp://help/tshoot/hdw_mouse.htm"
    
    [HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Class\{4D36E96F-E325-11CE-BFC1-08002BE10318}\0000]
    "InfPath"="oem1.inf"
    "InfSection"="HID_Filtr_Inst"
    "ProviderName"="Microsoft"
    "DriverDateData"=hex:00,80,dd,62,9d,2a,c1,01
    "DriverDate"="8-22-2001"
    "DriverVersion"="4.0.0.657"
    "MatchingDeviceId"="hid\\vid_045e&pid_0040"
    "DriverDesc"="Microsoft USB Wheel Mouse Optical (IntelliPoint)"
    
     
  14. ddt

    ddt Well-Known Member

    Joined:
    May 3, 2000
    Messages:
    384
    Location:
    SPb, Russia
    :(

    Тогда следующий вопрос. А если в геймпорте - обычный джой, но с 8ю кнопками и хаткой - можно ли 2 оси взять с мыши, еще 2 - с джоя, и при этом чтобы все кнопки и хатка работали?
     
  15. --AAA--

    --AAA-- Well-Known Member

    Joined:
    Nov 17, 2002
    Messages:
    94
    Location:
    В пальто...
    По поводу курсора маленькое рацпредложение: а что если сделать индикацию положения элеронов и руля высоты как это сделано в КФС - в правом нижнем углу экрана(тогда и центровка не нужна).
     
    Last edited: Nov 20, 2002
  16. --ul--

    --ul-- Well-Known Member

    Joined:
    Jul 15, 2001
    Messages:
    64
    Location:
    Tula, Russia
    Центрирование нужно было лишь для мальйшего представления о положении рулей( а то не понятно то ли тебя так уводит от скорости и надо триммироваться, то ли ты курсор не в центр вернул...). Если видно курсор, то этого вполне достаточно.

    Переключения между мышью и джоем нужно для того чтобы лазить по менюшкам или менять вид(Ил2).
     
  17. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Ок, переключение, в смысле включение-отключение мыши сделаю. Но только кнопкой самой мыши. Т.е. нажав, например правую кнопку, мышь перестает работать как джойсик до следующего нажатия этой кнопки.

    Индикацию сделать нельзя. Вы себе можете представить чтобы скажем драйвер клавиатуры показывал на экране в нижнем углу, какая кнопка нажата? Это либо есть в игре, либо нет. Драйвер не может ничего отображать на экране, если конечно это не видео-драйвер :eek:

    >>Если в геймпорте - джой с 8ю кнопками и хаткой - можно ли >>2 оси взять с мыши, еще 2 - с джоя, и при этом чтобы все >>кнопки и хатка работали?

    В текущей реализации драйвер поддерживает 6 кнопок джоя и 5 кнопок мыши. Т.е. всего максимум кнопок - 6. Стало быть 8ю кнопками - нельзя. Подключить джой с мышью и использовать 2 оси от джоя и 2 от мыши - можно. Но я это тестировал на своем джое со своей карточкой. Попробуй. Для этого в файле конфига поставь GMPORT=1. Что касается хатки - у меня она 4х поцизионная и аналоговая :) так что мне никогда не удавалось заставить ее работать по-нормальному :) Я вставил какой-то код для поддержки хатки но особо его не тестировал. Надо смотреть. Честно говоря я предполагал использовать мышь с педалями. Но не с крутым джоем :)
     
  18. GKosh

    GKosh Member

    Joined:
    Nov 20, 2002
    Messages:
    7
    Прежде всего, Ivan_004, большое спасибо вам за вашу прогу! Если смогу подстроить под себя управление - настоящая отдушина для тех кто без джойстика вынужден играть.
    Есть у меня один вопрос:
    Хотелось мне такой вариант организовать: держишь M2 - можешь рулить, отпускаешь M2 - всё равно что джойстик отпускаешь - все оси на 0. MA здесь не помошник, потому как сбрасывает оси на старый 0, а нужно по новой центровать, вариант MAP_JX=MXcntr,[M2]MX непроходит, видно нельзя так. Вопрос: можно ли в качестве условия задавать отпущенную M2, тогда я бы остановился на чём-то вроде:
    MXcntr = M2-
    MAP_JX=[M2]MX
    Ещё один вопрос, часто первое движение мыши в симуляторе сопровождается неожиданным скачком всех рулей, в Быстром Редакторе это может даже привести к штопору в первые же секунды полёта. В чём проблема?
    Заранее благодарен за ответ, и ещё раз говорю спасибо за вашу работу!
     
  19. Ivan_004

    Ivan_004 Well-Known Member

    Joined:
    Jun 18, 2002
    Messages:
    613
    Мда. Вопрос с центровкой и отключением-включением джойстика по нажатой кнопке пока что обдумывается :) Так что рассмотрю все предложения. Проблема в том, что мышь использует относительные координаты, а джой - абсолютные. Т.е. каждый раз, когда происходит движение мыши, данные передают только относительное смещение. Фактически это означает, что стоит только пропустить данные как будет смещаться центровка. Потому даже в случае "отключенного" джоя -мыши, все равно придется отслеживать изменения координат, чтобы после повторного "включения" центр джойстика не оказался смещенным. В настоящей реализации отпущенню кнопку задать в качестве условия нельзя. В следующую версию (а она будет скоро :) включу настройки по отключению джоя

    Думаю вопрос в центровке джойстика. Я эту проблему в ВБ решаю достаточно просто. Перед вылетом один раз делаю полный круг мышью по экрану. Затем помещаю курсор в центр и нажимаю кнопку центрирования, причем в ВБ это F12, если же игра не поддерживает центровку, можно задать ее в настройкаж джоя (MXcntr, MYcntr). После этого центровка не сбивается. Еще может быть проблема с ходом мыши (XSCALE, YSCALE) -т.е. та рабочая область, за пределами которой данные не воспринимаются. Поскольку курсор мыши реально двигается в области экрана а ход мыши определяется длиной ее шнура :), желательно значения XSCALE & YSCALE выставлять в те, которые соответствуют занчениям, показанным в калибровке (control panel->gaming options->joystick properties->calibrate->display data). Т.е. например, для оси Х передвинуть курсор в левый край экрана, проверить что данные показывают 0. Затем медленно двигать мышь вправо до тех пор, пока курсор не достигнет края экрана. При этом следить за изменением данных оси Х. Если изменение прекратились, а курсор еще не достиг правой границы экрана, значит XSCALE надо увеличить. В идеале она должна соответствовать значению оси Х в калибровке в момент достижения курсором правой границы. Тоже самое с осью Y.
     
  20. GKosh

    GKosh Member

    Joined:
    Nov 20, 2002
    Messages:
    7
    "Проблема в том, что мышь использует относительные координаты"

    То что нужно! Можно было бы сделать так:
    Мышь своё положение изменяет (приходят данные о смещениях по осям) передаём это как сообщения джойстика (то есть рулим :) ). Как только такие данные прекращаются (или 0 по оси приходит, я не знаю как там это организованно), забываем про старый
     
    1 person likes this.