Переназначение осей любого джойстика !!!

Discussion in 'Hardware and Software' started by frwind, Jan 29, 2006.

  1. frwind

    frwind Well-Known Member

    Joined:
    May 29, 2000
    Messages:
    915
    Location:
    Surgut, Russia
    Переназначение осей любого джойстика !!!

    Бродя в бескрайних просторах интернета в поисках как сменить VID и PID джоев, чтоб под XP можно было джои местами менять, напоролся на то как можно у любого джоя оси местами менять, независимо от дров и джоев.

    Вот оригинал собственно:

    === Cut ===
    onetimelegs September 28th, 2004, 20:50
    Hi Everyone.

    I have been using a "Super Dual Box" (sometimes called Super Joy box) so that I
    can use a PS2 controller to play Madden on my PC. I have always had to remap my
    buttons, which can be a pain, but that's no biggie. Up until now, however, my
    playmaker analog stick has been messed up; Madden sees UP when I press RIGHT.
    Makes it a bit confusing, especially since I play on both the PC and the PS2.

    Last night I did some searching on the internet, and I found a registry hack
    that fixed my problem! I'm pretty stoked! I thought I would include a link to
    the solution that I found on a site for FIFA 2003/2004 people, as well as the
    text of the solution that worked for me:

    This forum won't allow me to post outside links, but if you do a google search
    for

    FFAttributes fifa 2004

    It will be the first item in the results.


    It seems some players do not have their right analog stick not working properly
    (right/left becomes up/down etc). Actually windows allows directinput
    gamecontroller to be assigned accordingly, by using the Axis Selection
    Overrides technique.

    Background Info:

    First, you need to identify your gamepad "VID-PID code". If you do not know
    what it is, first look up your gamepad name in the control panel (oh, have you
    changed it to Logitech DualAction USB? ). Then open the registry and use the
    find feature to find the gamepad name. When you find one entry, just look at
    the folder and you should notice your gamepad "VID-PID code". For example, mine
    is VID_0E8F&PID_0003.

    Then you need to know how many axes your gamepad has. If you have two analog
    stick, you have 4 (like me). If you have a slider, you have 5. Each axis is
    assigned a number.

    Left analog (x-y)
    x = 0
    y = 1

    Right analog (Rz)
    z axis = 2
    z rotate = 5

    So I have 0, 1, 2, 5. Actually, you can check your axis number by looking at:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro
    l\MediaProperties\PrivateProperties\DirectInput\ VID-PID code \Calibration\

    Do you also have 0 1 2 5? Ok. Let's move on to how to exchange 2 and 5.

    First, you should close the registry, unplug the gamepad and restart windows.

    Now go to
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Contro
    l\MediaProperties\PrivateProperties\Joystick\OEM\ VID-PID code

    Right click on the folder and creat a key called "Axes". Then right click on
    the "Axes" folder and creat a key called "2". Inside the "2" folder, create a
    binary value named "Attributes" and set it to: 00 00 00 00 XX 00 YY 00. XX is a
    two-digit hexadecimal number specifying the HID usage page of the axis that you
    want to override. YY is a two-digit hexadecimal number specifying the HID usage
    of the axis.

    To make thing simple,

    Right analog (Rz)
    z axis = 2
    usage page = 01
    usage = 32

    z rotate = 5
    usage page = 01
    usage = 35

    So it should be 00 00 00 00 01 00 35 00 for folder "2" since you want to assign
    it as z rotate.

    Now create another key "5" and this time the "Attributes" should be 00 00 00 00
    01 00 32 00

    Now close the registry, plug back the gamepad and goto control
    panel/calibration to confirm the change. Actually, you can go the game and
    enjoy immediately.

    Notes:
    1. "2" should come before "5", otherwise a "hole" during mapping may occur.

    2. You may notice ControlSet001 and ControlSet003. You do not need to change it
    any change in CurrentControlSet will be directed to them.
    === Cut ===

    А теперь вкраце:
    Если мы захотели к примеру поменять местами оси на Saitek Х52, так как в некоторых играх, например в серии "Search and Rescue 4", заместо ручки газа приходится двигать ползунок на ручке газа, что не есть нормально.
    1) Запускаем dxdiag, смотрим во вкладке "Input", напротив своего джоя значения Vendor ID и Product ID (VID и PID), к примеру 0x06A3 и 0x0255. И вытаскиваем джой.
    2) Запускаем regedit и идем сюда:
    HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\MediaProperties\PrivateProp
    erties\Joystick\OEM\VID_06A3&PID_0255
    ^^^^^^^^^^^^^^^^^ - VID и PID вашего джойстика, которые вы узнали из dxdiag.
    3) Создаем в нем "Key" или как это по русски, вобщем в той папке создаем еще одну папку с именем "Axes" и в "Axes" создаем еще папки с нумерацией осей, от 0 до скоко у вас осей, 0 это первая ось. У Saitek X52 7 осей, создаем соответственно папки 0, 1, 2, 3, 4, 5, 6, 7
    Должно выглядеть примерно так:
    - VID_06A3&PID_0255
    - Axes
    - 0
    - 1
    - 2
    - 3
    - 4
    - 5
    - 6
    - 7
    4) Теперь в папках с осями создаем "Binary Value"("двоичное значение"), в его называем его "Attributes", а в нем уже пишем следующие:
    01 01 00 00 01 00 3Х 00
    ^ - "Х" номер оси
    тоесть в каждой из папок с осями создаем по строке с именем "Attributes", а значения пишем те что нам надо.

    Значения по умолчанию, для Saitek Х52:
    0 ось: 01 01 00 00 01 00 30 00
    1 ось: 01 01 00 00 01 00 31 00
    2 ось: 01 01 00 00 01 00 32 00
    3 ось: 01 01 00 00 01 00 33 00
    4 ось: 01 01 00 00 01 00 34 00
    5 ось: 01 01 00 00 01 00 35 00
    6 ось: 01 01 00 00 01 00 36 00

    5) Hа всякий случай после первого дописания "Axes" и нумерации осей,
    перезапускаем комп и втыкаем джой. В свойствах джойстика оси, по крайней мере у Saitek не поменялись, а вот в играх уже совершенно другое дело, все меняется.
    Причем для следующей смены осей, достаточно лишь просто выткнуть джой, поменять в реестре значения "Attributes" и воткнуть джой обратно, перезапускать не чего не надо.

    Для нашего конкретного примера, нам надо поменять местами 2(Газ)и 6(Ползунок на ручке газа) ось, меняем в папке с 2 осью значение "Attributes"
    "01 01 00 00 01 00 32 00" на
    "01 01 00 00 01 00 36 00"
    а в папке 6 оси меняем соответственно:
    "01 01 00 00 01 00 36 00" на
    "01 01 00 00 01 00 32 00"

    И все.
    Цепляем джой и вперед.

    Для упрощения сего действия, експортируем оба варианта реестра и запускаем нужный при необходимости.
     
  2. sbleka

    sbleka Well-Known Member

    Joined:
    Feb 8, 2003
    Messages:
    6,264
    Location:
    404
    Re: Переназначение осей любого джойстика !!!

    ну . у меня такой проблемы нет.. утилитка JoyIDsInstall позволяет менять местами как хочеш :)
     
  3. frwind

    frwind Well-Known Member

    Joined:
    May 29, 2000
    Messages:
    915
    Location:
    Surgut, Russia
    Re: Переназначение осей любого джойстика !!!

    И в птичках под WinXP, если поменяешь местами, то можно летать с второго джойстика?

    У меня ID оно меняет но вот птички один фиг используют только тот джой у которого меньше VID :(
     
  4. sbleka

    sbleka Well-Known Member

    Joined:
    Feb 8, 2003
    Messages:
    6,264
    Location:
    404
    Re: Переназначение осей любого джойстика !!!

    да , без проблем . тоже ХР но без СПаков
     
  5. frwind

    frwind Well-Known Member

    Joined:
    May 29, 2000
    Messages:
    915
    Location:
    Surgut, Russia
    Re: Переназначение осей любого джойстика !!!

    Может дело в СП'аке?
    я проверял с 1 и 2 СП, без как то не успел.
    Да, кстати, можешь дать урлу на свой JoyIDInstall, попробую его.
     
  6. sbleka

    sbleka Well-Known Member

    Joined:
    Feb 8, 2003
    Messages:
    6,264
    Location:
    404
    Re: Переназначение осей любого джойстика !!!

    блин.. не прицепилось :( где брал уже и непомню , поищи по названию , это прямое название
     
    Last edited: Jan 30, 2006
  7. frwind

    frwind Well-Known Member

    Joined:
    May 29, 2000
    Messages:
    915
    Location:
    Surgut, Russia
    Re: Переназначение осей любого джойстика !!!

    Да у меня есть, версия "Release 1.a", в птичках не катит.

    ОС WIN XP PRO SP1 Eng
     
  8. illerry

    illerry Member

    Joined:
    Dec 21, 2009
    Messages:
    15
    Переназначение осей любого джойстика

    PLAY_MOVIE = Alt?
    MOVIE_WIDE_MODE = Alt?
    MOVIE_CAMERA_MODE = Alt?
    вот если такие есть..значит в РФ можно какнить снимать InGame Video...если да то как?или мб разрабы просто забыли про это? =/
     
  9. sonar-

    sonar- Well-Known Member

    Joined:
    Feb 16, 2001
    Messages:
    5,226
    Location:
    St.Petersburg
    Re: Переназначение осей любого джойстика !!!

    Птички, блин, видят только первый джойстик по Vendor Identifier. У сайтека он 06A3. У PPJoy он - DEAD. Так что PPJoy им не видится, не знаю что и делать. Сменить этот самый VID как-нть можно?
     
  10. frwind

    frwind Well-Known Member

    Joined:
    May 29, 2000
    Messages:
    915
    Location:
    Surgut, Russia
    Re: Переназначение осей любого джойстика !!!

    А чем не устраивает летать в птичках на сайтеке?
    На счет смены VID так и не докопался, похоже это в прошивке/драйверах.
     
  11. NAP

    NAP New Member

    Joined:
    Jan 11, 2009
    Messages:
    4
    Re: Переназначение осей любого джойстика !!!

    Это все замечательно, у меня другой вопрос, если раньше задавался ткните носом, как инвертировать оси в птичках? (сайтек 52)
     
  12. kalter

    kalter Well-Known Member

    Joined:
    Mar 30, 2003
    Messages:
    55
    Re: Переназначение осей любого джойстика !!!

    Всем привет! Давно не виделись! ))
    Птички так и не видят больше одного джойстика? Полазил, не нашел инфы.
     
  13. sonar-

    sonar- Well-Known Member

    Joined:
    Feb 16, 2001
    Messages:
    5,226
    Location:
    St.Petersburg
    Поднимем-ка темку.
    Что-то ностальгия требует хотя бы в Practice offline погонять птичек, но вылезает старая-добрая проблема, когда куча джойстиков в системе.
    Итак, что у меня сейчас воткнуто в систему и перетыкать не хочу.
    1) CH Fighterstick под левую руку. И прям к нему же воткнуты педальки (на ось газа перепаяны). Джойстик юзать хочу максимум как РУД, ну а педали - по полной.
    2) Кобра М5 под правую руку. Этим джойстиком рулю в илитке, но в птичках рулить не хочу.
    3) Мыша. Вот ей и хочу рулить. Вместе с педалями из пункта 1.
    Винда 10.
    Чем сейчас собрать комбинированный мышеджой с педалями, да так, чтобы по вендору он встал первым для того, чтобы его птички увидали?
     
  14. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    29,214
    Location:
    Moscow,Russia
    Click Start, click Run, type "joy.cpl"

    upload_2021-9-21_23-54-44.png
     
  15. -tyt--

    -tyt-- Well-Known Member

    Joined:
    Feb 5, 2002
    Messages:
    7,142
    Location:
    Ukraine. Kiev
    А вот как бы свести два разных устройства (джой и педали) в одно, чтоб Птички его поняли, как одно?
     
  16. rgreat

    rgreat FH Developer

    Joined:
    Jul 19, 2000
    Messages:
    29,214
    Location:
    Moscow,Russia
    Есть ПО которое эмулирует новый джойстик собирая его оси и кнопки из других джойстиков.

    Названий не помню.
     
  17. Flk

    Flk Well-Known Member

    Joined:
    Aug 21, 2002
    Messages:
    11,915
    Location:
    Izhevsk
    Нагулилось Vjoy + AHK-Universal-Joystick-Remapper. Дока с картинками.
    На смену URJ есть Universal Control Remapper.
     
    Last edited: Sep 23, 2021
    Stefan and -tyt-- like this.
  18. -tyt--

    -tyt-- Well-Known Member

    Joined:
    Feb 5, 2002
    Messages:
    7,142
    Location:
    Ukraine. Kiev
    Спасиб!
    Буду пробовать