VBF-12_Stick-95 Posted September 26, 2018 Posted September 26, 2018 Just set up Virpil's Throttle and Joystick. I am mapping the default IL-2 keyboard commands to the buttons. I have always used JoyToKey (J2K) in the past. J2K has a feature that allows you to assign a button(s) that, when pressed in conjunction with another button, allows that button to be used for multiple assignments. In other words, I can have a button performing 3 different tasks if pressed in conjunction with another button(s). This greatly enhances the number of key assignments to buttons. When using J2K with Virpil's throttle this becomes problematic. J2K can only see 32 "buttons". With Virpil's throttle all of the buttons on the throttle handle, B1 through 8, and T1 and T2 are seen. All other toggles and buttons are not seen restricting J2K's usefulness for even single key assignments. Is anyone aware of overcoming this restriction of physical buttons not being seen by J2K? I have Joystick Gremlin (JG) working in IL-2 as well. It seems fairly straightforward and I do like it. I am trying to figure out though if JG has this feature capability to extend the usefulness of each button through multiple button presses. So far I have not been able to determine if it does. Is anyone using JG in the fashion? If so, could you show how this is achieved? Thanks for your thoughts.
Ehret Posted September 26, 2018 Posted September 26, 2018 1 hour ago, VBF-12_Stick-95 said: Just set up Virpil's Throttle and Joystick. I am mapping the default IL-2 keyboard commands to the buttons. I have always used JoyToKey (J2K) in the past. J2K has a feature that allows you to assign a button(s) that, when pressed in conjunction with another button, allows that button to be used for multiple assignments. In other words, I can have a button performing 3 different tasks if pressed in conjunction with another button(s). This greatly enhances the number of key assignments to buttons. You have such capability already in the BoX - it just need manual editing of data/input/current.actions file. It's in a plain text and not too difficult to do.
VBF-12_Stick-95 Posted September 26, 2018 Author Posted September 26, 2018 30 minutes ago, Ehret said: You have such capability already in the BoX - it just need manual editing of data/input/current.actions file. It's in a plain text and not too difficult to do. I don't think this achieves the same goal. Example: If I press button 4, it sends "F" to the game. If I press and hold button 3 and then press button 4, it sends "Left-Shift F" to the game. If I press and hold button 2 and then press button 4, it sends "G" to the game.
Sokol1 Posted September 26, 2018 Posted September 26, 2018 (edited) Well, this 32 buttons limitation is due use obsolete Windows DInput prototocol, only JoyToKey author software can solve this. Quote J2K has a feature that allows you to assign a button(s) that, when pressed in conjunction with another button, allows that button to be used for multiple assignments. In other words, I can have a button performing 3 different tasks if pressed in conjunction with another button(s). Not sure what JoyTokey function do this... is "button alias"? 7 minutes ago, VBF-12_Stick-95 said: I don't think this achieves the same goal. Example: If I press button 4, it sends "F" to the game. If I press and hold button 3 and then press button 4, it sends "Left-Shift F" to the game. If I press and hold button 2 and then press button 4, it sends "G" to the game. IL-2: GB don't allow you set in this way in controls GUI, but you can set editing "current.actions" file. In your above example you are using 2 buttons as "modifier" for button 4 - 3 and 3, change the file in the same way. joy#_button4 = flaps up joy#_button4+joy#_button3 = flaps down joyx#_button4+joy#_button2 = gear up/down toggle # - depends on joy ID Name of commands not correctly (don't remember). Edited September 26, 2018 by Sokol1
VBF-12_Stick-95 Posted September 26, 2018 Author Posted September 26, 2018 (edited) You use the Special tab, Shift Function when assign the button. You assign it to another virtual joystick, then assign the secondary or tertiary key command for the same button number in the virtual JS. Works great. I can't imagine needing more than 2 shifted function buttons. In the example below, it shows button 2 and 3 being assigned a shift function to Joystick 3 and Joystick 2 respectively. When I go to Joystick 3 I can assign any of the buttons there a different key command. In the case of button 5, you can see it's assigned "F" in Joystick 1. When I go to Joystick 3, I can assign button 5 to "Left-Shift F" or whatever. In game when I hold down button 2 and button 5 together it takes the key command from Joystick 3 for button 5. Edited September 26, 2018 by VBF-12_Stick-95 1
VBF-12_Stick-95 Posted September 26, 2018 Author Posted September 26, 2018 The question that remains is whether this can be achieved with Gremlin in some fashion?
VBF-12_Stick-95 Posted September 27, 2018 Author Posted September 27, 2018 (edited) Due to all the additional toggle switches and axis that exist on the Virpil throttle and joystick vs my old equipment, I have been able to move many key commands around. As I am completing my mapping I find the need for a second layer of button mapping doesn't really exist and should be good to go without it. I have settled on Gremlin. Edited September 27, 2018 by VBF-12_Stick-95
VBF-12_Stick-95 Posted September 27, 2018 Author Posted September 27, 2018 I have come across a few issues with Gremlin. Example: I mapped the key commands for MG, Cannon and Fire all to the triggers and buttons. When I use these, for say the MG, it also fires a couple rounds of cannon at the end of the burst. Same happens to Cannon with MG. When I use the fire all, it only fires MG. If I input the triggers and button directly to game, they all work fine. There are a a few toggles also giving me issues that I believe are Gremlin related. Will get back about them.
VBF-12_Stick-95 Posted September 27, 2018 Author Posted September 27, 2018 Confirmed. T4,5,&6 I had mapped to water rad, oil rad, and RPM using default keys in Gremlin. When pressed in a Spit they jerked the throttle setting to max. Mapped them directly and they work as they should. There's gremlins in Gremlin.
l_MaD_l Posted September 28, 2018 Posted September 28, 2018 Hehe... found this thread... Thanks @Sokol1 for the link to my post so I dont have to do this ?
VBF-12_Stick-95 Posted September 30, 2018 Author Posted September 30, 2018 I don't know what others are running into but Gremlin has issues I can't get around and JoyToKey beta (my go to) doesn't seem to be working either. The only sure fire thing that works is directly inputting the buttons into the game, which I really wanted to avoid. I even dredged up Total Game Control and no dice there.
WhiteMagic Posted October 1, 2018 Posted October 1, 2018 I got poked about this thread to see if I could chime in, seeing how I'm responsible for creating Gremlin. For the first question regarding whether or not Gremlin can implement a sort of "shift" mode, i.e. arbitrary keys can used to allow all remaining keys to be mapped differently. The two most sensible ways of doing this in Gremlin are either via modes or conditions. Which one is better depends on the actual use case. If there are many actions bound to a shift layer I personally think using the modes is easier / cleaner. When there is only a button here and there that needs to behave differently via a shift action then conditions are probably better. I've attached cut together views of the UI that show the two different setups. The modes setup uses a mode for each "shift key" that gets activated as long as the corresponding shift key is held down. This activation is achieved via the "Temporary Mode Switch" action. The shift modes don't have anything special in them which is why they are nicer to use when binding many inputs with shift modes. The conditions setup requires no additional modes, however, a condition is added to each input and requires specifying the condition on every input. For example omitting the conditions on the basic input "press f" would cause "f" to be sent even when a shift button is pressed. For this reason I find that implementing shift modes via conditions only really workable if not many keys require it, as otherwise the amount of clicking in the UI gets annoying. With regards to the issues of Gremlin sending odd / unwanted inputs could you post a screenshot of the configuration or the XML file itself. It's entirely possible there is a bug or that changing something could make it work the way you want and the UI simply didn't convey properly what it was going to do. 2 1
VBF-12_Stick-95 Posted October 1, 2018 Author Posted October 1, 2018 Thank you for responding WhiteMagic. I'll look over your examples and see if I understand them. It wouldn't surprise me if any appearance of lack of function rested solely on my inability to set it up properly.
VBF-12_Stick-95 Posted October 1, 2018 Author Posted October 1, 2018 (edited) There are two distinct issues I am having trouble understanding. The first is how to set an IL-2 default key command that consists of 2 keyboard inputs to a button, e.g., "Right-Alt + Space" for machine guns. An example is the setup I used which resulted in the "guns" issue I described but applies to all 2 keyboard inputs. I took the simple approach and just added the two keys together when entering text as a Map to Keyboard action. Examples in pic (EDIT Condition = None). Apparently this is an incorrect approach and the cause of my issues. The second issue I am having trouble understanding is the proper setup to be able to press two physical buttons simultaneously and have it send a keyboard command (of 1 or 2 inputs) to the game. This functionality seems to be there but the approach is different from what I am familiar with and I can't seem to wrap my head around it. Thanks for any assistance. Edited October 1, 2018 by VBF-12_Stick-95
VBF-12_Stick-95 Posted October 1, 2018 Author Posted October 1, 2018 I solved issue #1 by recording keystrokes in the Macro function.
VBF-12_Stick-95 Posted October 1, 2018 Author Posted October 1, 2018 WhiteMagic, I find that some 2 key combos work best as a Macro while others work best as a Map to Keyboard action. Case in point are the MG (R.Alt + Space) and cannon (L.Alt + Space) which work best as macros. On the other hand flaps up (L.Shift + F) works best as a Map to Keyboard. Not sure what the difference is. Also, I am still trying to understand mapping of axis and certain toggle switches (T4,5,6 on throttle) so these work through Gremlin. Until such time as I figure it out I have them mapped directly and they work fine. Cheers!
VBF-12_Stick-95 Posted October 2, 2018 Author Posted October 2, 2018 Finally, I get it. I now understand how to have a 2 button press create a keyboard command, allowing for multiple uses of the same key. Thanks WhiteMagic for the screenshots, they were helpful after some study.
WhiteMagic Posted October 2, 2018 Posted October 2, 2018 Your initial approach of using the map to keyboard action for multi key inputs should work fine. Behind the scenes this actually simply creates a macro doing what you probably did manually. So I'll have to look into why this is misbehaving, as it shouldn't. Glad you worked out how to get the multi key use working, I probably should make a video or writeup of how to do this in more detail as it's not the easiest to figure out how to do unless one is really familiar with Gremlin.
VBF-12_Stick-95 Posted October 3, 2018 Author Posted October 3, 2018 (edited) Thanks WhiteMagic. The issues related to use of Map to Keyboard vs Macro gets even stranger in IL-2. Flaps down is "F" which works fine as a Map to Keyboard. Flaps up is "Left-Shift + F" and is problematic. When in an FW-190A3 I had flaps up set as a Macro and it worked fine. When I jump to a P-39 it doesn't work. If I set it as Map to Keyboard, it works in the P-39 but not the FW-190. The only difference is that the P-39 flaps are extended/retracted at any percentage whereas the FW-190 is extended/retracted in two steps. I input the button for flaps up directly into the game to get around the conflict. For the Macro I think I used the "Hold" feature, maybe this created an issue. Generally what I see when using Map to Keyboard for a combined 2 keyboard character command where the first key is a Shift, Ctl, Alt, etc. is that the second key seems to be sent separately when the button is released. If the 2nd key is used in the game for a different command, that command will be executed. Other Examples: Fire all guns: Space Fire weapon 1: R.Alt + Space Fire weapon 2: L.Alt + Space Issue: When I use these, for say the weapon 1, it also fires a couple rounds of weapon 2 at the end of the burst. Same happens in reverse. When I use the fire all, it only fires weapon 1. Resolved by weapons 1+2 being set as Macros with Hold feature. Fire all is set as a Map to Keyboard. Drop bombs: B Air brake toggle: R.Alt + B Issue: While deploying air brake a bomb would be dropped. Resolve by making Air brake a Macro. Gear up/down: G Tail wheel lock/unlock: L.Shift + G Issue: While on runway pressing button for Tail wheel lock/unlock resulted in raising my gear, pancaking me on the runway. Resolve by making Tail wheel a Macro As far as multi-button use, what occurred to me was how similar the concept of Gremlin's setting of a second Mode (e.g. Shift1) and assigning a button as a Temporary Mode Switch is to JoyToKey's "Special" tab setting, which sets a button as a "shift" to link to a virtual Joystick button. You have a very in depth program and are to be congratulated. Still much to be explored. Cheers! Edited October 3, 2018 by VBF-12_Stick-95
VBF-12_Stick-95 Posted November 27, 2018 Author Posted November 27, 2018 An update. In my first example above of setting guns to a macro, it does works, however, when firing if I watch the button on the control stick in the cockpit, the fire button is not held down continuously but instead is a series of button presses. As a result the rate of fire is decreased. Until I figure out a work around I have mapped the triggers directly in game.
Eclipse4349 Posted April 18, 2020 Posted April 18, 2020 I am having problems with Gremlin, also. The same ones you described, but also this: I use buttons for multiple things. So a normal button press, and also a press while holding down another button (a shift button). No matter what I do as far as conditions, map to keyboard, macros, same container, different container, etc., when I hold my shift button, I get both actions - the normal action and the "shifted" action. I am at witts end trying to figure this out. Maybe it's bugged. I think I'll be switching to the temporary mode switch method.
Hipsu Posted April 27, 2020 Posted April 27, 2020 (edited) On 4/18/2020 at 8:01 PM, Eclipse4349 said: I am having problems with Gremlin, also. The same ones you described, but also this: I use buttons for multiple things. So a normal button press, and also a press while holding down another button (a shift button). No matter what I do as far as conditions, map to keyboard, macros, same container, different container, etc., when I hold my shift button, I get both actions - the normal action and the "shifted" action. I am at witts end trying to figure this out. Maybe it's bugged. I think I'll be switching to the temporary mode switch method. In Gremlin, have you "Remapped" to virtual buttons, or are you "Mapping to keyboard"? The latter may have issues with modified keypresses, for example Shift+F also presses just F. I think, I'm going to test again when I get home... I always Remap, that works beautifully. For example Remap physical buttons 1-10 to virtual buttons 1-10, but when a specified button is pressed down, those buttons are 11-20 instead. Then in the game map vJoy buttons 1-20 where you want. Edited April 27, 2020 by Hipsu
Eclipse4349 Posted April 27, 2020 Posted April 27, 2020 I got everything working using macros in cases where Map to Keyboard actions were not recognized properly in-game, and temporary mode switching to get around the broken shift button functionality, rather than any remapping and keeping track of virtual buttons. In many cases, I had to add a pause of anywhere from 0.2 to 0.5 seconds between the key presses and releases, so for example: Press Lshift Press - Pause for 0.5 seconds Release - Release Lshift I also set the macro to "hold", with a delay of zero, so that the function would continue as long as the button was held, or "none" if it is a momentary, toggle type of function. For the mode switching, in mode 1a, I have one button to switch to mode 2a, and my "shift" button is a temporary mode switch to mode 1b. In mode 2a, the mode switch switches to mode 3a, and the temporary mode switch switches to mode 2b. Mode 3a switches back to mode 1a. All modes are "children" of Mode 1a so that any buttons not assigned in a mode would inherit the function of that button from mode 1a. It works great, and there are no virtual buttons to keep track of!
Eclipse4349 Posted April 29, 2020 Posted April 29, 2020 (edited) In case this helps anyone else, I learned what the "Smart Toggle" feature does in Joystick Gremlin, and it resolves the issues encountered with processing commands like holding a shift key and pressing another key, WITHOUT needing to tediously edit macros and insert pauses, resulting in somewhat disjointed repeated inputs instead of smooth and constant inputs while the controller button is held. Smart toggle does one of two things depending on how long the button is held before it is released. You set a "toggle time", which defines the time threshold for processing a "press" action versus a "hold" action. If you press and release the button in a time period shorter than the "toggle time", Joystick Gremlin toggles the button on. It will remain on until you press the button again to toggle it off. If you press and hold the button longer than the "toggle time", Joystick Gremlin will treat this as the keys being held down on the keyboard, and it will release them when you release the button. The underlined portion is the part that didn't come across clearly in the documentation for Joystick Gremlin (I don't think English was the native language for the developer). It is an important distinction from a macro, where the press and release is repeated continually until the button is released. It also processes the held buttons in a way that the game seems to treat the same as holding the actual keys on the keyboard, unlike some cases with Map to Keyboard key-presses that don't work properly in-game. With Smart Toggle, I was able to delete every macro with pauses and replace them with Smart Toggle bindings, which also made all functions smoother and continuous, as if I was pressing the keys on the keyboard, as I said above. Side note - "Tempo" keybindings are pretty great, too! You get two keybinds for the price of 1 button - one command for a button press, another for a press and hold. I hope this helps someone Edited April 29, 2020 by Eclipse4349 2
pabletesoy Posted September 28, 2020 Posted September 28, 2020 Hello, I know this is not the righ place, but after lost a week searching for a solution I don,t kon what can I do. Vjoy dosen,t allo to rim in DCS, I know it sound extrange....I have seen in this threat White Magic, the responsible for creating Gremlin. May be he can help me with this problem? thanks a lot
pabletesoy Posted October 3, 2020 Posted October 3, 2020 I had assigned a couple of controls inside DCS in the Vjoy row so everything failed ... it finally works! Thnkas for the help!
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