Hesynergy Posted July 14, 2015 Report Posted July 14, 2015 Let's Share HOTAS WARTHOG Buttons for NGX,et al Greetings all, and welcome back from your visit with your son, Pete! I fly with Prepar3D version 2.5. I started this topic in order to OPTIMIZE my immersion and enjoyment with the resources at hand, mine enumerated below. I think we all, who have the ThrustMaster HOTAS WARTHOG, can greatly learn and benefit from comparing notes and offering suggestions to one another. My controls / pertinent Aircraft 1.Paid version of Pete's incredible FSUIPC. 2. My incomparable and dearly paid for ThrustMaster HOTAS WARTHOG control pair, 3. My beloved PMDG 737 NGX, 4. Saitek's Combat Rudder pedals. This topic doesn't have to be exclusively for the PMDG NGX, though I would request that we keep the NGX the main topic; similarities to other aircraft button assignments are also welcome. Note, I have tried doing direct input of the NGX SDK,".h" file offsets, and find a dearth of offsets which actually increase or decrease important controls such as my MCP course, speed, heading, and altitude. Same goes with mouse macros with the NGX ...some work, and some don't. While I have just kind of gotten a handle on compound(conditional) buttons I am still learning but here is where I am so far. N.B: A. Earlier on, I went through my INI file and found a lot of duplications and errors, and either amended, or WAS going to delete them, but, after studying the fsuipc user guide for advanced users, I wanted to keep sequence numbers;that's the reason you see, " =; OPEN", in some of the line numbers. B. I admonish you, as Pete does so well here, to spend the time to document your FSUIPC*.ini edits and inclusions. The time spent going back over each line of your INI file and documenting it, will, I promise, pay you back at least 2x in the time you spend creating and editing. [JoyNames] AutoAssignLetters=Yes 0=Throttle - HOTAS Warthog 0.GUID={A75EC8D0-6BAC-11E2-8001-444553540000} 1=Saitek Pro Flight Combat Rudder Pedals 1.GUID={A7604B10-6B8E-11E2-8008-444553540000} 2=Joystick - HOTAS Warthog 2.GUID={A755EAD0-6B8E-11E2-8001-444553540000} T=Throttle - HOTAS Warthog T.GUID={A75EC8D0-6BAC-11E2-8001-444553540000} R=Saitek Pro Flight Combat Rudder Pedals R.GUID={A7604B10-6B8E-11E2-8008-444553540000} J=Joystick - HOTAS Warthog J.GUID={A755EAD0-6B8E-11E2-8001-444553540000} ; why is below showing up when I have obviously defined my controls with "T,J,R"… Do I need to turn off auto assign letters? A=<< MISSING JOYSTICK >> B=<< MISSING JOYSTICK >> C=<< MISSING JOYSTICK >> ;1=; Renamed to appropriate Alpha name ;2=;does << MISSING JOYSTICK >> still stay after Subsequent loads of FSUIPC? - YES! Even after deleting ;3=; Compound Button Examples: ;3=CP(-0,6)(-0,7)0,3,C65615,0 ... ... ;9=CP(+0,6)(-0,7)0,3,C65769,0 ;4=;In these both cases the active button (the button that is generating ;the command) is button 3 (with label 4 on the joystick). In the ;first case the command ?65615? is generated when button 6 and 7 are; ;up and button 3 is going down. C65615 will generate an ?Elevator ;Trim Up?, the same command as the default joystick button ;programming. The ?CP? syntax defines that the command will be only ;executed once, even if the button 3 is holding down. ;5=; ;6=;However, by holding down the ?6? button (?7? on the MS joystick) and ;activating button 3, FSUIPC will generate a ?65769, Propeller Pitch ;Increment?, command. This command is not a default joystick button ;command, but a command that, if it was not programmed that way, had ;to be ;entered by a button combination on the keyboard. ;7=; ;8=;By defining the button combination with a ?CR?, the comm ;9=; !1=;#define THIRD_PARTY_EVENT_ID_MIN 0x00011000 // equals to 69632 [buttons] ButtonRepeat=20,10 PollInterval=25 1=PT,21,C65759,0 ;65759 FLAPS_DECR 2=PT,22,C65758,0 ;65758 FLAPS_INCR 3=PJ,2,C65561,0 ;65561 PAUSE_TOGGLE 4=PJ,4,C65570,0 ;65570 GEAR_TOGGLE 9=PT,25,C65580,0 ;65580 AP_MASTER 10=PJ,32,K85,8 ;K85=U 11=PJ,36,K68,8 ;K68=D 12=PJ,38,K73,8 ;K73=I 14=PT,2,C65564,0 ;65564 ATC 15=PT,3,C66172,0 ;66172 ATC_MENU_1 16=PT,5,C66174,0 ;66174 ATC_MENU_3 17=PT,4,C66173,0 ;66173 ATC_MENU_2 18=PJ,34,K77,8 ;K77=M 21=CP(+J,0)(-J,5)J,1,K75,8 ;K75=K IF TRIGGER POS1 NOT POS2 PRESSED WHILE B1 PRESSED MAKE "K 22=CP(+J,0)J,1,K77,8 ; IF trigger pos1 pressed AND B1 make keyboard "M" 23=;DONT KNOW WTF THIS IS-> RJ,38,K37,9; 24=;DONT KNOW WTF THIS IS->RJ,34,K39,9;k 25=CP(+J,0)T,3,C66175,0 ;66175 ATC_MENU_4 26=PT,26,C65725,0 ;65725 AP_HDG_HOLD 27=PT,27,C65799,0 ;65799 AP_PANEL_ALTITUDE_HOLD 28=PT,14,C65589,0 ;65589 SPOILERS_TOGGLE 30=PT,8,C66049,0 ;66049 SMOKE_ON 31=PT,9,C66050,0 ;66050 SMOKE_ON 32=; OPEN 37=CR(-J,0)T,10,C1025,0 ;1025 Heading Bug Inc Fast (+10) 38=CR(-J,0)T,11,C1024,0 ;1024 Heading Bug Dec Fast (+10) 39=CR(+J,0)T,10,C65893,0 ;AP_ALT_VAR_DEC 65893 40=CR(+J,0)T,11,C65892,0 ;AP_ALT_VAR_INC 65892 41=PT,38,K87,8 42=;RT,11,C1025,0; 43=PT,34,K77,8 ;COMMENT 44=PT,32,K85,8 ;COMMENT 45=PT,36,K68,8 ;COMMENT 46=PJ,3,C65752,0 ;; OPEN 47=;RT,10,C1024,0 ;; OPEN 48=RT,7,C69727,0 ; NGX PANEL LIGHTS DECREASE 49=; OPEN 50=; OPEN 51=; OPEN 52=; OPEN 53=; OPEN 54=; OPEN 55=RJ,14,C65607,0 ;65607 ELEV_TRIM_DN 56=RJ,16,C65615,0 ;65615 ELEV_TRIM_UP 57=; OPEN 58=; OPEN 59=RJ,8,C65639,0 ;65639 COM_RADIO_FRACT_INC 60=; OPEN 61=; OPEN 62=RJ,6,C65637,0 ;65637 COM_RADIO_WHOLE_INC 63=RJ,7,C65636,0 ;65636 COM_RADIO_WHOLE_DEC 64=RJ,9,C65638,0 ;65638 COM_RADIO_FRACT_DEC 65=RJ,6,C65641,0 ;65641 NAV1_RADIO_WHOLE_INC 66=RJ,8,C65640,0 ;65640 NAV1_RADIO_WHOLE_DEC 67=RJ,9,C65642,0 ;65642 NAV1_RADIO_FRACT_DEC 68=RJ,7,C65643,0 ;65643 NAV1_RADIO_FRACT_INC 69=RJ,15,C66279,0 ;66279 RUDDER_TRIM_RIGHT 70=RJ,17,C66278,0 ;66278 RUDDER_TRIM_LEFT 71=PT,23,C66614,0 ;66614 GPS_ACTIVATE_BUTTON 72=CP(+J,5) << ERROR 20! Line ignored >> !2=73; OPEN 74=RT,29,C65966,0 ;65966 THROTTLE1_DECR 75=RT,28,C65971,0 ;65971 THROTTLE2_DECR 76=RT,20,C70032,0 ;EVT_MCP_ALTITUDE_SELECTOR was->RT,20 C69727,0 ;PT,20,C66623,0 O 80=UT,29,C65967,0 ;THROTTLE1 CUT 81=UT,28,C65972,0 ;THROTTLE2 CUT OR 83=; OPEN 84=; OPEN 85=PT,19,C66704,0 ;66704 APU START APU_STARTER 86=PT,30,C1061,0 ;1061 Engine 1 Autostart 87=PT,31,C1062,0 ;1062 Engine 2 Autostart [MacroFiles] 1=767 2=MADDOG2 3=iFly737 4=leveld767 5=1CESSNA172 6=1NGX900 £££££££££££££££££ End of FSUIPC4.ini button sample I included the macro files because as I said above ...some of them worked and some of them didn't. I look forward to your input guys and gals! Regards to all, Chas
Pete Dowson Posted July 22, 2015 Report Posted July 22, 2015 Note, I have tried doing direct input of the NGX SDK,".h" file offsets, and find a dearth of offsets which actually increase or decrease important controls such as my MCP course, speed, heading, and altitude. "Offsets" for the NGX are read only. They cannot be written to. I think you are referring to the custom controls instead, for which you need to compute the numberical value from the list in the .h file. For the MCP don't the MCP specific controls work? i.e. #define EVT_MCP_COURSE_SELECTOR_L (THIRD_PARTY_EVENT_ID_MIN + 376) #define EVT_MCP_SPEED_SELECTOR (THIRD_PARTY_EVENT_ID_MIN + 384) #define EVT_MCP_HEADING_SELECTOR (THIRD_PARTY_EVENT_ID_MIN + 390) #define EVT_MCP_ALTITUDE_SELECTOR (THIRD_PARTY_EVENT_ID_MIN + 400) #define EVT_MCP_COURSE_SELECTOR_R (THIRD_PARTY_EVENT_ID_MIN + 409) You probably need a parameter, one of the Mouse codes, click left or click right I should think. The MOUSE FLAGS are also defined in the .h file. Same goes with mouse macros with the NGX ...some work, and some don't. As I have stated innumerbale times, the FSUIPC mouse macro facilty can only operate on Gauges written to the standard Microsoft C/C++ Gauge SDK. Very few are these days. Even Microsoft didn't stick to the rules it laid down. Also, any time you update your airecraft you must discard all the old mouse macros and make them again, because the code they address directly has probably moved. ; why is below showing up when I have obviously defined my controls with "T,J,R"… Do I need to turn off auto assign letters? A=<< MISSING JOYSTICK >> B=<< MISSING JOYSTICK >> C=<< MISSING JOYSTICK >> Yes, if you are choosing your own letters you certainly don't want them auto-assigned! Additionally, somewhere in your settings, you probably still have assignments to A, B and C -- maybe automatically assigned originally. You've not shown the complete INI file so I cannot help further on that. Aren't you even using profiles? Pete
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now