Closed FlorianWendelborn closed 7 years ago
I'll get working on this tomorrow. Hopefully we can get a sensible transition configuration.
Since with the latest patch it looks like Valve is going in the direction of adding the broken things to the in-game options/configs menu instead of fixing console inputs, here's a list of stuff now broken that I'm maybe planning to put on reddit to recommend for valve to add.
it's by no means exhaustive, so tell me if I'm missing anything.
chatwheel_say
I'll chip in on the work, but probably starting with the next week.
@dodekeract I'll be a tester I guess... Since I can't code... I want to help in whatever way possible...
Question:
Much obliged.
@silencer666 I don't think it will get even close, but playable.
I personally managed to win the two games I played with the space workaround. My communication is still fucked because my ping key changed and I lost 60% of my chatphrases, but other than that it's barely playable for me.
You can still play botgames with Manta/TheCore, since they only labeled it as a cheat. If you enable them, you're fine.
I don't go the AHK route, since it would:
@dodekeract thanks for replying. I'm checking this github page multiple times a day...even tho I can't code anything... i wish i could help. term break right now.
Most of this post is outdated. Here is the latest download link. Be sure to read "Readme Message from Karrandalf.txt" for installation instructions.
https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-==-=-=-=-=--=-=-=-=-=-=-=-=-=-=-= # IT WORKS!!!!!! ...mostly. I went the AHK route and got most of Loopulseasa working. So what I did was bind all the keys to the default keyboard layout in the autoexec. Then I used space or alt and a key in AHK to reach a key all the way on the other side of the keyboard, the numpad for example. It works pretty flawlessly but we are limited by the number of keys on the keyboard.
So here is the stuff that isn't working because I ran out of keys to bind; The camera movements and enter on the numpad. All the chatwheel phrases. Control Groups 7,8,9 (Keys 8,9,0) EDIT: Control Groups 7 and 8 now work! EDIT: Control Groups 7 and 8 are gone again. I needed the extra keys. Toggle RClick Repeat Toggle Right.C Deny Right.C Deny ON Toggle Developer Mode Cast Mode Toggle Support for custom hero bindings and F8 now reloads the AHK script instead of the autoexec.
With that said, everything else works including the auto-attack toggle, select summons toggle, orb effects toggle, and Cycle Health Barsplit. The AHK script does not contain macros with a few small exceptions (such as the Swift Courier Script). I realize that the chatwheel phrases could be reworked as macros but it isn't worth the risk especially since they can be bound in the console if we ever had a spare key to bind them to.
=-=-=-=-=-=-=-=-=To INSTALL-==-=-=-=-=-=-=-= Simply extract to dota 2 beta\game\dota\cfg just as before. The AHK script or the exe can be run from any location. I suggest you run them on startup as they only affect dota 2. You only need to run the .ahk or the .exe NOT BOTH. EDIT: Unbind all your hotkeys like before EXCEPT the quickcasts on the abilities and items. You need to use valve's alt+[Key] to self cast now. YOU MUST PRESS F7 IN-GAME TO START Loopuleasa AFTER IT IS RUNNING. YOU CAN TOGGLE Loopuleasa ON AND OFF SO YOU CAN USE CHAT IN DOTA 2 WHILE NOT IN AN ACTUAL MATCH BUT WITHIN THE CLIENT. =-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-= I'm sure this has some bugs. I'm sorry I went the AHK route dodekeract, but it made the most sense to me as I just needed to bind keys to a space modifier.
I'll comment the code eventually but not anytime soon as I'll be busy the next few days. If anyone can find keys that aren't on my keyboard to bind additional commands to, it would fix the running out of room issue.
Sincerely, Karrandalf
EDIT2: I have fixed an issue causing l and m not to be capitalized correctly when shift was held. By utilizing ScrollLock and Pause, control groups 7 and 8 are re-implemented. The download link has been updated. Install as before. EDITv1.02: I have fixed the global chat. Keyboard function outside of a DotA match remains an issue. For now, F7 will suspend the script. Press F7 if you wish to use default keyboard functionality. Press F7 again to activate the Loopuleasa script. Remember F8 reloads the AHK script as it looks like it is no longer possible to reload an autoexec once in a game. I think this version is playable. I apologize, the global chat was not something I checked during testing. EDITv1.03: I have made the windows key toggle the script on and off (F7 for non-windows users). I have changed the script to be disabled on start (F8 reloads the script but does not start it). To start the script you have to hit the toggle windows key or F7. You will receive the in-game message in student chat "Loopuleasa ON" or "Loopuleasa OFF" and hear two beeps. As a consequence, control group 7 and 8 are gone again. So, if you need your default keyboard back, just press the windows key or F7. YOU MUST PRESS WINKEY OR F7 IN-GAME TO START Loopuleasa AFTER IT IS RUNNING. EDITv1.04:Removed Windows Key as hotkey
Praise be to @Karrandalf!
May you be blessed with wealth, health and many beautiful children.
Ty @silencer666, I have just updated the download link to v1.01. It fixes some minor bugs and control groups 7 and 8 are back.
I'm not sure if this method will work for people without a Numpad. If any of you who do NOT have a Numpad get it to work, let me know.
Chat works will you are in a game but not in the lobby. So, you might want to pause the script if you need to use the lobby chat pre-game.
@Karrandalf I'm really sure that it will work, even without a numpad.
I made that reddit post of a list of now-missing functionalities that I mentioned earlier:
https://www.reddit.com/r/DotA2/comments/4lazjm/dear_valve_heres_a_list_of_things_broken_by_the/
I'm sure I've missed somethings, and you guys probably would know about whatever I've missed the most; if there's anything I've missed, tell me here or on the reddit thread and I'll add it in~
I need to fix global chat. The Shift-Enter registers as an ordinary Enter
@dodekeract The only thing that worries me about the numpad is that my script calls though the keyboard hooks rather than calling a virtual key. So... hopefully the keyboard hooks for a numpad are there even if the physical keys aren't. If not, I can look into calling virtual keys.
Fixed the global chat with v1.02 and added F7 as a toggle to suspend the script. Let me know if you guys find any bugs.
Another possible workaround for toggles: https://www.reddit.com/r/DotA2/comments/4l2tt0/dota_2_update_main_client_may_25_2016/d3jvrmv
@Karrandalf
I am very happy to report that your workaround... works. Thank you so much.
Ty @silencer666 , Here is v1.03 I have made the windows key toggle the script on and off (F7 for non-windows users). I have changed the script to be disabled on start (F8 reloads the script but does not start it). To start the script you have to hit the toggle windows key or F7. You will receive the in-game message in student chat "Loopuleasa ON" or "Loopuleasa OFF" and hear two beeps. As a consequence, control group 7 and 8 are gone again. https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
@Jinnai I haven't had any luck binding bind pgup incrementvar dota_player_units_auto_attack_mode 0 2 1 in the autoexec It works pasting it in the console though
Hi @Karrandalf.
Binding the windows key is NOT a good idea. A lot of us disable it during gaming anyway.
I'm sticking with Version 1.02.
OK, I'll change it
@silencer666 Here is version 1.04. I have removed the windows hotkey, use F7. https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
Is there a way other than using alias to bind something on key press or release? Alias no longer works right?
Also is there another way to bind a combination of keys from the autoexec (like alt + f), or is this only possible from the ingame menu now?
@e-nikolov No and No I am not aware of any way.
Plans for the Future: Use AHK instead of autoexec to give visual and audio confirmations for toggles freeing up 10+ keys. Use those 10+ keys for the missing chatwheel phrases. Remap the key binds in a logical order (I bound them in a really disorganized way in the autoexec and ahk script when I was trying to find a work around). Since the keys are bound in a logical order, reflecting their location on the keyboard, remove the F7 toggle. It wouldn't be needed anymore. Loopulesea could always be ON without interfering with default keyboard layout. *Possibly use virtual keys from the ahk side (if users complain that the work around does not work for them because they are missing the physical keys on their keyboard)
Well, I won't be able to work on this this weekend. You guys are free to fiddle with it as you wish. If anyone wants to help, what I really need is a complete list of all bindable keys in the autoexec (even if they are not physically on YOUR keyboard). That would be the holy grail. Here is what I have so far;
"A - Z" "0 - 9" "F1 - F12" "KP_0 - KP_9"
"KP_ENTER" "KP_MULTIPLY" "KP_SUBTRACT" "KP_DIVIDE" "KP_ADD" "KP_DEL" "PgDn" "PgUp" "END" "HOME "PAUSE" "SCROLLLOCK" "DEL" "BACKSPACE" "INS" "=" "\" "[" "]" "'" "SEMICOLON" "." "," "/" "`" "TAB" "CAPSLOCK" "ARROWUP" "ARROWDOWN" "ARROWLEFT" "ARROWRIGHT" "mouse3" "mouse4" "mouse5"
I haven't tried anything higher than mouse5, but mouse6 looks promising. Does anyone know what [-] the minus key bind is? Really what I am looking for is bizarre keys. Add to the list if you can. Thanks, Karrandalf
There are multimedia keys like play/pause/next song and so on. Those are bindable in dota 2, but maybe people use them for other things.
@Karrandalf It's actually possible to bind F13-F24, at least AFAIK.
I really don't want to rely on having to use third-party tools to play Dota, and I can get by without having most of the custom configs I had, but as a former LoL player I really can't get used to not having a "center camera" bind (that isn't godawful).
Here's the simple AHK script I now use to center the camera:
Space::Send,{space}{F18}
Space Up::Send,{F19}
and accompanying autoexec snippet:
bind "F18" "dota_camera_lock 1"
bind "F19" "dota_camera_lock 0"
Hi guys, it's been a couple of days and @Karrandalf has come up with a solution for us to continue using the @loopuleasa layout.
Should we advertise this on reddit or other forums?
People naturally submit to authority, in this case Valve, and believe that they know best. But nowadays best games involve continuous fan contribution in order to evolve.
But before we showcase the AHK method, I think some of us needs to help refine it a little bit to make it easier for non-programmers, such as myself, to modify.
And we probably need to draft something eloquent to make our case.
I'm just throwing ideas out there. Let's not give up on this fight. A lot of people have contributed to this project over the past two years.
Thoughts?
@silencer666 I don't like the idea, I especially advise against publishing it on reddit. They are already wrongly blaming autoexec users as filthy cheaters, what do you think they'll do when you use AHK? They won't even read your post.
I'm honestly done with that community. They proved that they're not worth caring about by voting for that autoexec witchhunt thread.
I agree, if they didn't understand the difference the first time when we were just using single auto exec commands, think of how they would react to functionally the same thing, except with the scary words of "AutoHotKey". Don't advertise this fix.
https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
Here is a much cleaner rework of my old fix. Pictures are worth a thousand words, so I suggest you take a look at the updated visual keyboard layout folder in the download link above. Within this folder are four layouts; Tournament, No Modifiers, Space Pressed, and Alt Pressed.
If you are afraid of using AHK, then fine. In this latest version, you don't have to. If you don't want to use AHK then you will be using the Tournament Legal version. To install this version; 1). Download the zip at the top of this post and extract to dota 2 beta\game\dota\cfg 2). You can either delete the .ahk and .exe or simply just don't run them 3). You will need to bind Q W E T G R to the quickcast abilities, mouse5 D F X C V to the quickcast items, and the alt modifier to space within the dota2 client. (The quickcast binds in the console are needed for self-casting with alt). 4). unbind all other hotkeys from within the client.
This mode is nice because it does not require the use of a 3rd party software and can be used in Tournaments but all the keys may be difficult to reach quickly.
If you want a version true to the old Loopuleasa keys, install the same files as the Tournament legal version but do not rebind the alt modifier to space. 5). Run either the .ahk or .exe, but not both. I suggest you run them on start up since they only affect dota2.exe. 6). The script is now active whenever dota2.exe is active, and there is no need to toggle it. The fix will automatically switch from Tournament mode to old Loopuleasa mode. There is no toggle.
This version is almost the same as the Tournament version but allows keyboard shortcuts to reach the far side of your keyboard. Space & F5 for example is the equivalent of pressing the NumpadDivide. This particular example toggles auto-select summons on or off. It also presses one additional key which plays a sound. Essentially ahk is the only way you can have a space modifier which remaps your keys so you can reach the far side of your keyboard. Keyboard shortcuts which utilize the space modifier are not macros as you only receive one output for one input. The exceptions to this are the swift courier script and the quickup courier. You will not be banned for using this ahk script unless maybe if you do nothing but pound on the swift courier script the entire match. Use them within reason. The script is 99% key remapping.
Currently visual confirmations for toggles (the student_say "___ ON") are missing. We simply do not have enough keys to bind. Audio confirmations are implemented. In order for visual confirmations to be implemented, we need to discover new key biddable keys within the autoexec. Note: Confirmations of any kind will never be possible in tournament legal mode. You will have to remember what cycle of the toggles you are on. This may be the final major version of this fix unless more bindable keys are discovered (F20-24 don't work). To be honest though, it is good enough without them. Edit: The only thing to implement from here would be in-game visual confirmations. While it is possible to "pop" text up on the screen with AHK, this would require the user to be running in borderless-fullscreen. It would also bring with it a whole host of other nasty issues such as properly scaling and positioning the text to a variety of monitors with varying resolutions. It simply isn't worth it (especially since exclusive full-screen mode gives a performance boost). You can tell what cycle the toggle is on by the sound anyway.
This has been a fun and adventurous week. If you find my fix useful, then use it. If not, I will not be offended. I made this fix entirely for myself and decided to share it. I would like to thank everyone who has helped test and research for this fix. The community here is truly amazing.
https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
Sincerely, Karrandalf
Update_b: I've updated the auto-attack cycles to match that of the old Loopuleasa Update_c: The issue where the courier stops after using the swift courier script is now fixed Update_d: Fixed issue with alt + 2 not selecting all other units. Update_e: Discovered the key bind "SysReq" so the toggle game menu is now implemented at F5. I have updated and corrected the layout maps. MouseWheelUp and MouseWheelDown are now bound to the cycle next unit and cycle previous unit so you can scroll through the control groups. Tab still works for cycling units also. If you find any bugs, let me know.
Just tested the fix, it worked great! Played a bot match as Meepo. One issue: ALT+2 doesn't select all other units (my meep-ites).
i'll look into it
Well, it's not ideal but at least it works now. That Alt + 2 now triggers when alt is released.
!2:: Keywait, Alt Send {``} Return
The problem was that I have " ~ " bound to select all others in the autoexec for tournament legal mode. Running the autoexec binds " ~ " to alt (adding an extra alt key). It seems that as long as the user is holding down alt, the game will receive alt + " ~ " because " ~ " is special in some way. It doesn't work like this for any other key that I am aware of yet. The work around is to not send " ~ " until the user has released alt, ensuring only " ~ " is sent. The ultimate result is select all others may appear to have a slight delay in-game. It shouldn't be too bad though. If you guys have a better workaround please post. In the mean-time enjoy the patched version below and keep the bug reports coming.
Thank you for the fix @Karrandalf, but I won't be using the AHK version because of the principles of 3rd party use in online games that I wish to respect.
I can't thank you enough for the continuous work @Karrandalf.
I will including the link to V2 in this post because some of us might want to use a version which does not include the TOURNAMENT version.
I prefer V2 because I am able to suspend the script with F7 in case something goes bad. Meanwhile, I will continue testing June2016e.
Loopuleasa_AHK_Solution_V1.02.zip
I'm sorry I had to use an external host as I don't know how to upload files to GitHub.
EDIT: This post was uploaded almost the same time as @Karrandalf new post below and might be overtaken by events.
Ty @loopuleasa. Take a look at "keyboard layout visual images\Tournament\visual_layout_nomod.png" and "keyboard layout visual images\Tournament\visual_layout_space.png" in version June2016f of my fix. These are the keyboard layouts for users not using ahk. The autoexec files are the same. The .ahk script or .exe is what changes the layout to the PNGs in "keyboard layout visual images\AHK" by adding an additional modifier key. You are not required to run ahk for the fix, though it is much closer to the original Loopuleasa if you do.
Do not let the version letters fool you. Version June2016f is drastically improved from June2016e. The installation process will take longer though as it requires you to bind alt modified keys in-game. Has anyone figured out how to bind them in the console?
For non-AHK users, the "Tournament Legal" visual layouts are pretty self-explanatory. (Ignore the brown and dark green keys, they are useless to you).
For AHK users, we now have a work-around which fixes 100% of Loopuleasa (as opposed to the 90% in version June2016e). For starters, the script now restarts itself everytime you restart dota2.exe, ensuring the toggles in the autoexec line up with the toggles in the ahk. RClick Deny Space is now reimplemented as well. We finally have the student chat confirmation messages to go along with the toggles.
June2016f is different from the original Loopuleasa: 1). Chat Phrases are still in the same location but had to be bound to slightly different keys. (If someone can find a way to bind Alt+[a key] in the autoexec, this will allow the phrases to be bound to their original keys) 2). The student message for the Open Mic toggle is not reimplemented due to running out of bindable keys. You still have a visual confirmation because of the mic's icon on screen. 3). Space and alt now act as ping keys as well as modifiers (` still pings as well)
Some new features have been added as well 1). A hotkey for the radar/scan ability 2). Holding space and scrolling with the mouse wheel will allow you to cycle to the next unit and prev unit (Tab still does the next unit). 3). Holding alt and scrolling with the mouse wheel will allow you to scroll through the different health barsplit settings (Alt + Z still works too).
If this isn't 100% of Loopuleasa, then it is definitely 99%. Find the bugs guys and I'll patch them. And remember, you don't have to use ahk if you don't won't too because even though it doesn't contain macros (except for that swift courier script) it is a 3rd party program. Just delete the .ahk and .exe after you download, or simply don't run them. Even though the swift courier script is done differently, it still doesn't work outside the fountain, just like old Loopuleasa.
https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
Sincerely, Karrandalf
@silencer666 I can understand why you didn't like June2016e, but take a look at June2016f please. It is vastly different and is for both the ahk and the non-ahk (tournament) user. At least download it and look at how the visual layouts have changed.
For anyone that does need an old version, I'll add the download links below. Current Version:https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
Loopuleasa_June2016i.zip Loopuleasa_June2016h.zip Loopuleasa_June2016g.zip Loopuleasa_June2016f.zip Loopuleasa_June2016e.zip Loopuleasa_June2016d.zip Loopuleasa_June2016c.zip Loopuleasa_June_2016_b.zip Loopuleasa June 2016.zip Loopuleasa AHK Solution V1.04.zip Loopuleasa AHK Solution V1.03.zip Loopuleasa AHK Solution V1.02.zip Loopuleasa AHK Solution V1.01.zip Loopuleasa AHK Solution.zip
I'm still going through June2016f... I can't keep up with you man... I barely had a chance to test E and you've come up with F.
You are so meticulous with instructions and keyboard layout.
Thank you so much.
June2016f shouldn't "mess up" anymore. If you reload the ahk script by pressing "F8" without reloading the autoexec (by relaunching dota) then there is a good chance that you will desynchronize the toggle logic between the scripts. The "F8" button is really only for careful developers.
Updated the installation readme to say that 30 of the binds require the user to press alt rather than 42. The 12 quick-cast binds for the items and the abilities should not be bound with alt.
I have disabled "F8" and "Space & F8" from reloading the ahk script. I would hate for someone to accidently reload their script without reloading the autoexec and think the fix was bug ridden. The ahk script can still be reloaded by pressed "Alt & F8" for careful developers.
I have made the "alt+mousewheelup" and "alt+mousewheeldown" to stick at health barsplits 250 and 550 respectively rather than cycling back around to the beginning as "alt + z". This behavior makes it much easier to control healthbar cycling with the mousewheel. Again, if you guys find any bugs, be sure to make a post.
Edit: I'm an idiot and didn't recompile the .exe in version g, so... here is version h. https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
Nothing major. I just made the windows key a unified orders modifier so my thumb doesn't have to reach so far to push the control key. Just a small quality of life of update. I'm back to playing dota. Don't worry @silencer666. If you accidentally push it, nothing bad will happen since it's just a unified orders modifier. https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
@Karrandalf no offense, but you do know, that it's free to create a repository, right? GitHub issues are not supposed to be a method of source code distribution.
@dodekeract I really don't want to make a new repository and steal @loopuleasa 's work. All of the autoexec work and keyboard layout is very close to what @loopuleasa had before for non-ahk users. I am waiting a week or so to see if: 1). @loopuleasa comes up with something better than my "tournament mode" (the mode my fix defaults to if you are not running ahk) 2). Valve decides to implement an additional modifier 3). to allow time to fix any bugs found by the small group of testers on this forum.
@loopuleasa has opposed the use of 3rd party programs which is fine since my fix works perfectly well for those who don't want to use ahk. For those that want a 100% working version of the Loopuleasa keybinds they remember, there is an ahk solution. The difference is entirely in whether you are currently running the ahk script or not as the files for installation are identical.
In short, I need to find out if what I built is Loopuleasa's Super Compact Keybinds version 6.0 or if I'm making my own repository. I also need to know, if I make my own repository, if Loopuleasa want's his name on it or his name off it. I would like to still call it Loopuleasa but won't if it is against his wishes. On the user side, it performs exactly like the old Loopuleasa keybinds and is similar if you aren't running ahk.
I hope this answers your question @dodekeract. I may indeed be making my own repository soon, but there are some things I need to wait on.
Sincerely, Karrandalf
@Karrandalf he has given explicit permission for anybody to fork, change and modify the code. license
In addition to that, see #161, it doesn't look like @loopuleasa will continue.
Ty @dodekeract,
I made it into a fork. You can see it in the pull requests tab or here is a link https://github.com/loopuleasa/Dota2-TheCore-Config-Engine/pull/163 https://github.com/Karrandalf/Dota2-TheCore-Config-Engine
Whenever I play dota I really wanna make use of keyboard modifiers. I am however gotten used to my own layout (which I never shared with anyone) and I'm kinda confused now as how to make the workaround happen now for my own layout
Could you elaborate on that?
Why?
Because muscle memory is a bitch.
How?
Basically, the goal of this issue is to find the best possible ingame & crippleexec workarounds to provide similar functionality.
Workaround List
Space For SelfCast
It turns out, that Valve didn't disable the
dota_remap_alt SPACE
command. In addition to that, you can now use your alt-key for SelfCast by ticking an ingame setting. Combining these two, you get a layout, that allows you to use Space + Skill/Item to SelfCast.Autoattack toggle
Untested source, somebody please verify this is a replacment.
Update 2016.06.02: It's now in the game options
Complete Replacement By Using AHK
See below.
Meta
Related to dodekeract/manta-config-engine-app#76.