View Issue Details
ID | Project | Category | Date Submitted | Last Update | |
---|---|---|---|---|---|
0006136 | Valley 1 | Suggestion - UI Ideas | Feb 24, 2012 11:52 am | May 18, 2012 4:36 pm | |
Reporter | Penumbra | Assigned To | |||
Status | considering | Resolution | open | ||
Summary | 0006136: Allow Modifier Keys in key bindings | ||||
Description | Only single keys can be mapped in the key bindings window. Allowing the user to bind "R", "Shift-R", "Ctr-R", "Ctr-Shift-R" to different functions would be helpful. | ||||
Tags | No tags attached. | ||||
Internal Weight | Feature Suggestion | ||||
has duplicate | 0007504 | closed | Can we let Shift to be used in conjunction with mouse clicks? KB+Mouse UI annoyance |
|
I play WoW, and in that game I use 5 different ability bars, with 1-5, Shift 1-5, Ctr 1-5, Alt 1-5, Ctr-Shift 1-5. And that game isn't nearly as fast/twitch based as AVWW. |
|
You can already do this -- should be able to, anyway. Keyboard Modifier 1 and 2 and such are what this is. It's the same system as AI War. |
|
You guys must feel like we _never_ stop complaining..... ;) So, here I am mapping all my awesome, amazing new keyboard shortcuts to shift, ctrl, ctrl-shift etc. First, pressing shift binds the key to shift and doesn't let me bind the key as a modifier. Also, modifier-mouse keys don't work either for the above reason and since they are "never useful" ;) Again, sorry for making it seem like all we do is complain..... |
|
Yep, keyboard modifiers are not supported in the game at this time; it was an endless string of problems with AI War, and in general there's not a huge amount of reason to do it here until this feature just came in with triggering stuff on rows above. This will be a nontrivial thing to investigate sometime post-1.0, at any rate -- risk of bugs = quire high. Anyway, no worries on "complaining" -- it's good to know what folks want! |
|
I have seen other games just handle the single binding as "Shift-4" instead of the AI War method of separate modifier binds. This, along with your comment of the "endless string of problems" leads me to believe this is a Unity issue. |
|
By binding the 11-15th and 21-25th abilities to Numpad1-0, along with 16-20 to /*-+. Along with a quick Auto-Hotkey script, I was able to get pretty much what I want, and it is _AMAZING_!!! MButton is Platform, and shift-MButton is crate! I have both easily at my fingers. I have Energy Slice and Energy Orb bound similarly to button 5. Swapping between spells has never been so easy in the middle of combat. The script is really simple (Though, I think it would affect any Unity app, not just AVWW) #IfWinActive, ahk_class UnityWndClass +LButton::Numpad1 +RButton::Numpad2 +MButton::Numpad3 +XButton1::Numpad4 +XButton2::Numpad5 !LButton::Numpad6 !RButton::Numpad7 !MButton::Numpad8 !XButton1::Numpad9 !XButton2::Numpad0 +w::NumpadDiv +r::NumpadMult +t::NumpadSub +g::NumpadAdd +v::NumpadDot |
|
In terms of the modifier keys, it's only partly a problem with unity. It's mostly a problem of logic in how we handle hotkey parsing when you've got a modifier key held down plus a regular key. The default tendency is to fire both, but that's not what you want. That means that you then have to filter out the base keypresses -- but ONLY if there is a binding that matches both of them being held down together. That gets messy and slow when you have a many-to-many mapping system for input. Meaning where any keybind can have a modifier key, and any key can be used as either a modifier key or a regular key or both. It gets very messy indeed. There's also the problem that with modifier keys people naturally want to bind them to shift and ctrl and alt... and that causes the "key sticking" issue that you see in AI War, which is a unity bug when alt-tabbing out or using shift-tab in the steam interface. So allowing for modifier keys directly tends to allow people to really shoot themselves in the foot with unity and then complain to us about the bug in unity, which we can't fix. I like your autohotkey solution a lot better, honestly. ;) |
|
If there were three check box options, one for each modifier key, that said "use as modifier" and "use as key" it would be more explicit to the user, and it could include a warning about the Unity issue in a popup and let the user decided how to proceed ;) However, since I can now play the game in the manner I always wanted, you won't hear a peep out of me about it again! Though, I am wishing I had a larger keyboard! I've pretty much tapped mine out :) That, and I can't type capital W,R,T,G or V in chat :) Funny you mention the modifier sticky issues, as I just fixed my script to handle that after I posted this last night. #IfWinActive, ahk_class UnityWndClass +LButton::Send {Numpad1 Down} +RButton::Send {Numpad2 Down} +MButton::Send {Numpad3 Down} +XButton1::Send {Numpad4 Down} +XButton2::Send {Numpad5 Down} +LButton Up::Send {Numpad1 Up} +RButton Up::Send {Numpad2 Up} +MButton Up::Send {Numpad3 Up} +XButton1 Up::Send {Numpad4 Up} +XButton2 Up::Send {Numpad5 Up} !LButton::Send {Numpad6 Down} !RButton::Send {Numpad7 Down} !MButton::Send {Numpad8 Down} !XButton1::Send {Numpad9 Down} !XButton2::Send {Numpad0 Down} !LButton Up::Send {Numpad6 Up} !RButton Up::Send {Numpad7 Up} !MButton Up::Send {Numpad8 Up} !XButton1 Up::Send {Numpad9 Up} !XButton2 Up::Send {Numpad0 Up} +w::Send {NumpadDiv Down} +r::Send {NumpadMult Down} +t::Send {NumpadSub Down} +g::Send {NumpadAdd Down} +v::Send {NumpadDot Down} +w Up::Send {NumpadDiv Up} +r Up::Send {NumpadMult Up} +t Up::Send {NumpadSub Up} +g Up::Send {NumpadAdd Up} +v Up::Send {NumpadDot Up} |
|
Would you mind my posting this on the forums for others to try? Or should it just be left here? |
|
By all means, share away! |
|
I was able to set up modifier keys using the default/stock game by editing the inputbindings.dat file in a text editor. . . It seems to me the game already supports this there just isn't a way to set it in the game itself (since as described above, pressing shift sets the key to shift). Here's an example from my inputbindings.dat: KeyBinding:Ingame_UseAbility0|Alpha0|Keypad0|None|None|None|None|None|10 KeyBinding:Ingame_UseAbility11|Alpha1|None|LeftShift|None|None|None|None|10 Those 2 entries set up the '0' key to use "power 10" (default) and then 'LeftShift + 1' to cast "power 11". It works for me in game, it's just not extremely user friendly to edit. |
|
That's awesome. I remember looking in there for it once, but I gave up for some reason. Amazing! Thanks, I'm going to replace my AHK script right now and see what's what. Oh yeah, a bunch of the bindings already have the LeftControl in there, eh? |
|
It totally works for my WRTGV keys. Don't need auto hotkey for that. However, if you try and bind Mouse0-6 to anything other than "MouseAbilityX" it unbinds them on startup. Some kind of protection code, protecting me from shooting myself in the foot. ;) Close, really close. I'll just go back to AHK for now. |
|
Scratch that last one, this works great if you put "Mouse0-4" in the "primary keyboard key" slot instead of mouse slot, while simultaneously unbinding the "mouse abilities" Consider my foot well and proper shot! KeyBinding:TakeScreenshot|F12|None|None|None|None|None|None|10 KeyBinding:MarkAllLocalMessagesAsNew|BackQuote|None|None|None|None|None|None|10 KeyBinding:PauseLocalChunk|Q|Pause|None|None|None|None|None|10 KeyBinding:Debug|F3|None|None|None|None|None|None|10 KeyBinding:DebugNetwork|F2|None|None|None|None|None|None|10 KeyBinding:DebugCollision|F4|None|None|None|None|None|None|10 KeyBinding:DebugGhostInvisible|F5|None|None|None|None|None|None|10 KeyBinding:DebugBaseTileLayerInfo|F6|None|None|None|None|None|None|10 KeyBinding:DebugCTLTileLayerInfo|F6|None|LeftControl|None|None|None|None|10 KeyBinding:DebugEntityAlignmentMode|F7|None|None|None|None|None|None|10 KeyBinding:Ingame_Left|S|LeftArrow|None|None|None|None|Left|10 KeyBinding:Ingame_Right|F|RightArrow|None|None|None|None|Right|10 KeyBinding:Ingame_Down|D|DownArrow|None|None|None|None|Down|10 KeyBinding:Ingame_Up|E|UpArrow|None|None|None|None|Up|10 KeyBinding:Ingame_Jump|Space|None|None|None|None|JoystickButton1|None|10 KeyBinding:Ingame_ConfirmOrAction2|A|Return|None|None|None|JoystickButton0|None|10 KeyBinding:SwitchDirectlyTargetedEntity|Tab|None|None|None|None|JoystickButton11|None|10 KeyBinding:SwitchActiveAbilityBar|None|None|None|None|None|JoystickButton10|None|10 KeyBinding:SwitchActiveAbilityBarReverse|None|None|None|None|None|None|None|10 KeyBinding:SwitchFirstMouseAbilitySlot_UKB2|None|None|None|None|None|None|None|10 KeyBinding:SwitchFirstMouseAbilitySlotReverse_UKB2|None|None|None|None|None|None|None|10 KeyBinding:Ingame_AimUp|None|None|None|None|None|None|Negative5th|5 KeyBinding:Ingame_AimDown|None|None|None|None|None|None|Positive5th|5 KeyBinding:Ingame_AimLeft|None|None|None|None|None|None|Negative4th|5 KeyBinding:Ingame_AimRight|None|None|None|None|None|None|Positive4th|5 KeyBinding:Ingame_UseAbility1|Mouse0|None|None|None|None|JoystickButton2|None|10 KeyBinding:Ingame_UseAbility2|Mouse1|None|None|None|None|JoystickButton3|None|10 KeyBinding:Ingame_UseAbility3|Mouse2|None|None|None|None|JoystickButton4|None|10 KeyBinding:Ingame_UseAbility4|Mouse3|None|None|None|None|JoystickButton5|None|10 KeyBinding:Ingame_UseAbility5|Mouse4|None|None|None|None|JoystickButton6|None|10 KeyBinding:Ingame_UseAbility6|W|None|None|None|None|JoystickButton7|None|10 KeyBinding:Ingame_UseAbility7|R|None|None|None|None|JoystickButton9|None|10 KeyBinding:Ingame_UseAbility8|T|None|None|None|None|None|None|10 KeyBinding:Ingame_UseAbility9|G|None|None|None|None|None|None|10 KeyBinding:Ingame_UseAbility0|V|None|None|None|None|None|None|10 KeyBinding:Ingame_UseAbility11|Mouse0|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility12|Mouse1|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility13|Mouse2|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility14|Mouse3|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility15|Mouse4|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility16|W|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility17|R|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility18|T|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility19|G|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility20|V|None|LeftShift|None|None|None|None|10 KeyBinding:Ingame_UseAbility21|Mouse0|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility22|Mouse1|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility23|Mouse2|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility24|Mouse3|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility25|Mouse4|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility26|W|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility27|R|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility28|T|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility29|G|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_UseAbility30|V|None|LeftAlt|None|None|None|None|10 KeyBinding:Ingame_MouseAbility1_UKB1|None|None|None|None|None|None|None|10 KeyBinding:Ingame_MouseAbility2_UKB1|None|None|None|None|None|None|None|10 KeyBinding:Ingame_MouseAbility3_UKB1|None|None|None|None|None|None|None|10 KeyBinding:Ingame_MouseAbility4_UKB1|None|None|None|None|None|None|None|10 KeyBinding:Ingame_MouseAbility5_UKB1|None|None|None|None|None|None|None|10 KeyBinding:Ingame_MouseAbility6_UKB1|None|None|None|None|None|None|None|10 KeyBinding:Ingame_MouseAbility7_UKB1|None|None|None|None|None|None|None|10 KeyBinding:OpenMenu_System|Escape|None|None|None|None|JoystickButton8|None|10 KeyBinding:OpenChatPopup_UKB2|I|None|None|None|None|None|None|10 KeyBinding:OpenChunkMap|M|None|None|None|None|None|None|10 KeyBinding:OpenDungeonMap|Comma|None|None|None|None|None|None|10 KeyBinding:OpenRegionMap|Period|None|None|None|None|None|None|10 KeyBinding:Menu_CursorDown|DownArrow|None|None|None|None|None|Down|10 KeyBinding:Menu_CursorUp|UpArrow|None|None|None|None|None|Up|10 KeyBinding:Menu_CursorLeft|LeftArrow|None|None|None|None|None|Left|10 KeyBinding:Menu_CursorRight|RightArrow|None|None|None|None|None|Right|10 KeyBinding:Menu_ConfirmOrAction2|A|Return|None|None|None|JoystickButton0|None|10 KeyBinding:Menu_Cancel|Escape|None|None|None|None|JoystickButton1|None|10 KeyBinding:Menu_SwitchToNextMainTab|Tab|None|None|None|None|JoystickButton3|None|10 KeyBinding:SwitchToGhostMode_UKB1|G|None|LeftControl|None|None|None|None|10 KeyBinding:SwitchToNonGhostMode_UKB1|H|None|LeftControl|None|None|None|None|10 KeyBinding:TriggerAllPointsOfInterest|O|None|None|None|None|None|None|10 KeyBinding:DebugRecreateTestChunk|K|None|LeftControl|None|None|None|None|10 KeyBinding:DebugReloadParticlePatterns|F4|None|LeftControl|None|None|None|None|10 KeyBinding:DebugReloadLanguageFiles|F5|None|LeftControl|None|None|None|None|10 KeyBinding:DebugShowAllRegions|F3|None|LeftControl|None|None|None|None|10 KeyBinding:OpenDebugMenu|L|None|None|None|None|None|None|10 KeyBinding:ResetAimingReticle|U|None|None|None|None|None|None|10 KeyBinding:Ingame_DoLookAhead_UKB1|L|None|None|None|None|None|None|10 KeyBinding:Ingame_Walk|LeftControl|None|None|None|None|None|None|10 KeyBinding:OpenInventory_Usable2|X|I|None|None|None|None|None|10 KeyBinding:OpenInventory_Commodities|K|None|None|None|None|None|None|10 KeyBinding:OpenReference_Planning|P|None|None|None|None|None|None|10 KeyBinding:Visualizer_ShiftWest_UKB1|LeftArrow|None|LeftControl|None|None|None|None|10 KeyBinding:Visualizer_ShiftEast_UKB1|RightArrow|None|LeftControl|None|None|None|None|10 KeyBinding:Visualizer_ShiftUp_UKB1|UpArrow|None|LeftControl|None|None|None|None|10 KeyBinding:Visualizer_ShiftDown_UKB1|DownArrow|None|LeftControl|None|None|None|None|10 KeyBinding:SwapLeftAndRightMouseButtons|None|None|None|None|None|None|None|10 KeyBinding:ForceDropQuantityToAll|LeftControl|None|None|None|None|None|None|10 KeyBinding:OpenInventory_Enchants2|Z|None|None|None|None|None|None|10 KeyBinding:DebugDoMemoryProfilingSample|F9|None|None|None|None|None|None|10 KeyBinding:Ingame_ShowAllRegionLevels|H|None|None|None|None|None|None|10 KeyBinding:Ingame_UseCrate|None|None|None|None|None|None|None|10 KeyBinding:Ingame_UsePlatform|None|None|None|None|None|None|None|10 KeyBinding:Ingame_UseShield|None|None|None|None|None|None|None|10 KeyBinding:Ingame_UseBallOfLight|None|None|None|None|None|None|None|10 KeyBinding:Ingame_UseFlare|None|None|None|None|None|None|None|10 KeyBinding:Ingame_UseLightSnake|None|None|None|None|None|None|None|10 KeyBinding:Ingame_UseFlashOfLight|None|None|None|None|None|None|None|10 |
|
I'll add something here, since this might actually get added for real. These should also allow the binding of modified mouse keys as well. |
|
I'd just like to add in my support for this. I was quite disappointed to find that I couldn't bind anything to shift-Mouse1 or shift-Mouse2 (without an Autohotkey script). It is MUCH easier for me to properly platform and fire simultaneously when I'm using the mouse to fire rather than keyboard keys, and without this feature, I frequently have to switch my bar around to use the spells I want. |
|
You can actually get this to work, just not fully supported. I use both Alt and Shift for mouse modifier keys. The key bindings in the comment two above shows how, and the discussion on the forums is here: http://www.arcengames.com/forums/index.php/topic,10331.msg101971.html#msg101971 |
Date Modified | Username | Field | Change |
---|---|---|---|
Feb 24, 2012 11:52 am | Penumbra | New Issue | |
Feb 24, 2012 11:53 am | tigersfan | Internal Weight | => Feature Suggestion |
Feb 24, 2012 11:53 am | tigersfan | Status | new => considering |
Feb 24, 2012 11:54 am | Penumbra | Note Added: 0019739 | |
Feb 24, 2012 11:58 am | Chris_McElligottPark | Note Added: 0019742 | |
Apr 19, 2012 1:57 am | Penumbra | Note Added: 0022343 | |
Apr 19, 2012 4:33 pm | Chris_McElligottPark | Note Added: 0022381 | |
Apr 23, 2012 10:53 am | Penumbra | Note Added: 0022609 | |
Apr 23, 2012 11:53 pm | Penumbra | Note Added: 0022632 | |
Apr 24, 2012 9:05 am | Chris_McElligottPark | Note Added: 0022642 | |
Apr 24, 2012 9:28 am | Penumbra | Note Added: 0022644 | |
Apr 24, 2012 12:02 pm | Penumbra | Note Added: 0022657 | |
Apr 24, 2012 12:15 pm | Chris_McElligottPark | Note Added: 0022660 | |
Apr 29, 2012 11:42 am | crayo | Note Added: 0023003 | |
Apr 29, 2012 11:49 am | Penumbra | Note Added: 0023004 | |
Apr 29, 2012 11:50 am | Penumbra | Note Edited: 0023004 | |
Apr 29, 2012 12:00 pm | Penumbra | Note Added: 0023005 | |
Apr 29, 2012 2:50 pm | Penumbra | Note Added: 0023016 | |
May 3, 2012 11:11 am | Penumbra | Note Added: 0023355 | |
May 4, 2012 11:09 am | Penumbra | Relationship added | has duplicate 0007504 |
May 18, 2012 4:32 pm | Danei | Note Added: 0024464 | |
May 18, 2012 4:36 pm | Penumbra | Note Added: 0024465 | |
May 18, 2012 4:36 pm | Penumbra | Note Edited: 0024465 |