So in DOTA 2 I would like to use space bar a key modifier, like ALT does. so I remapped the ALT key to Space Bar and vice versa using AutoHotkey. The problem is, when I am chatting to my team mates, I have to use the ALT key as a space. Is there a way to make it so that I could use say Num1 and Num2 (any key is fine, I have rebindable keys on my keyboard), to switch between the remapped version of my keys and the original usage of the keys, like a profile system?

Edit: Changed wording for clarification.

  • Are you trying to bind space bar to alt so that the camera behaves similarly to League of Legends? – aytimothy Nov 6 '14 at 9:29
  • Nah, in Dota 2 you can set keybinds so that you can have ALT+Key uses an ability or somesuch, problem is, you can only use the ALT key for this, not the space or CTRL etc. So what I want to do is map space to alt but be able to revert it back to its original function (space) so I can chat in game and such. – Fluffy Bunny Ducky Nov 7 '14 at 5:09
  • 1
    My thought is to make enter (and escape) toggle this specific AutoHotkey state. So when you press enter to send a message, it switches spacebar back to spacebar, and when you've sent your message with enter it switches back to being ALT. – Decency Nov 7 '14 at 5:26
  • Honestly, this is probably better off being asked in a different Exchange site - it's not really about anything other than AutoHotkey – franglais Nov 7 '14 at 23:06
  • try to work with those commands: dota_remap_alt_key 0 "Specify a key to use instead of the alt key in-game." and dotadev_bind "For development: Bind a key to in dota (ALT+key) allowed." taken from: dota2.gamepedia.com/List_of_Console_Commands – Wandang Nov 24 '14 at 12:55

This is an old question but because I got an answer I thought I could share it.

I think this is exactly what I did for myself https://github.com/bemug/dota2cfg

The good news is that it can be done right in source scripting, you don't need external tools.

Basically I remap the space key to a modifier using source script, and when I press space, it execute a file containing some bindings. When I release it, it execute another file overriding these bindings with new ones.

alias +keyShift "exec bindingsOnPress"
alias -keyShift "exec bindingsOnRelease"
bind "SPACE" "+keyShift"

Hope this helps :)

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.