Weird hotkey problem

 slaca


Posted 5 February 2017 - 5:30 pm
I bought a new mechanical keyboard, and realized when I press two hotkey right each other too fast then, the second one doesn't work. For exemple: My villager build is hotkey is B, the build tower hotkey is T. I click on a vill, than I fast press BT, then the tower doesn't appear. If I press them not too fast then it works.
Keyboard works very good in windows or with any programs. It seems that aoc is too slow for that, because when I press B, the building icons dont appear immediatly, and i have to wait for it to press T. (It's 0,2-0,3 sec, but I'm faster than the game, lol. It works good with the HD version. I heard that Voobly registers hotkeys upon releasing the key, while HD does so upon pressing them. Could you fix it if it was true?
My keyboard is cherry brown mx Filco Majestic. With old non-mechanical keyboard the hotkeys also worked good.

Link | Reply | Quote
 kitt


Posted 6 February 2017 - 5:34 pm
hi
if it works like other macro's you can set a delay in it. which may help your problem.
Link | Reply | Quote
 [Wk']eleletWeMissYou


Posted 7 February 2017 - 3:18 pm
I have the exact same problem as you with a new mechanical keyboard (Corsair K65, Cherry mx red switches). I found a few more threads about what seems to be the same problem, but nobody has found a solution:

[You must login to view link]
http://www.voobly.com/forum/thread/244391/:1145374#post1145374

At first I thought the problem was related to some utility in the keyboard, but from what I read it exists in some Logitech, Filco, and Corsair keyboards and at least in Cherry mx brown and red switches. All the complaints are about mechanical keyboards, and all of the people say that their old membrane keyboards worked well. Because the problem doesn't exist in any other software or games - not even in the HD edition - then the issue is probably related to the game itself.

With some testing I noticed that my old membrane keyboard - which I used for years - has the same issue, but it is much less noticeable. So perhaps the problem always existed but was just not noticeable because the membrane keyboards were slower. But this doesn't explain why other mechanical keyboard users do not complain about the issue. I for one find it very annoying.

You are right in that the Voobly/CD version of the game registers a hotkey only when released, while the HD edition registers to hotkey upon pressing. For example, building a barracks (B+B) in the CD version requires release of the button, while in the HD edition you can build a barracks by holding B down. This might indeed be the cause of the problem. But that still doesn't explain why other mechanical keyboard users don't perceive any problems... Maybe some keyboards have a faster release?

If someone has any other ideas I would gladly hear them out.
Link | Reply | Quote
 kitt


Edited 7 February 2017 - 5:58 pm by kitt
hi
if you enter a delay in the macro for what ever the key is set to do, that should get over the problem.
[You must login to view link]
Link | Reply | Quote
 slaca


Posted 7 February 2017 - 6:42 pm
Hi, what kind of macro are you talking about? I have filco keyboard and have no program for it. Where should I set that delay?
Link | Reply | Quote
 kitt


Posted 7 February 2017 - 6:45 pm
hi
has to be a gui to set up the keys.
Link | Reply | Quote
 slaca


Posted 7 February 2017 - 7:51 pm
Coudn't you do that like in HD version? The game should detect when I press a button and not when I release.
Link | Reply | Quote
 [Wk']eleletWeMissYou


Posted 7 February 2017 - 10:14 pm
I tried the macro suggestion and it seems like the best way is to set a very simple macro on your build key so that the release delay is instant (0 ms). The macro releases the key instantly even if you are still pressing the button. This only solves the problem for the build key, but that should be majority of the issues. Thanks kitt for the tip.

I still don't know how to solve the issue for keyboards that don't have macro software for individual keys.
Link | Reply | Quote
 kitt


Posted 7 February 2017 - 11:25 pm
hi
this may or not help.
[You must login to view link]
[You must login to view link]
Link | Reply | Quote
 slaca


Posted 8 February 2017 - 11:30 pm
Not help, it cant find any microsoft devices.
Link | Reply | Quote
 2132132131265


Edited 9 February 2017 - 9:17 pm by 2132132131265
same issue here, I played on HD for a week but when I moved back to play on voobly I notice that you have to have a very small delay between key presses, else it won't register properly. On HD I can press 'build' and 'farm' pretty much simultaneously.

It does not depend on type of keyboard for me, happens both to my Corsair K70 keyboard and laptop keyboard.

would definitely be nice for UP 1.5 to have the hotkeys work like aoe2 HD.

Edit: Simply removing the delay using a macro works! It's so much more responsive and in my opinion it should be made default on UP 1.5.
Link | Reply | Quote
 wattle


Edited 11 February 2017 - 12:17 am by wattle
Hi, you might try this dump tiny hotkey-script.
All it does is simply sending the same key you press, that means keyDown-keyUp.
So if you press b it will instantly release b and your hotkey will accordingly be instantly send.

I tried it for some hotkeys and it seems to work like in HD, I can however not guarantee there are no sideeffects.

You can either use the ahk script (just an ascii-file) if you have Autohotkey installed or use the exe if you have not. You may need to run it with admin-rights to make it work.

[You must login to view link] ahk-file
[You must login to view link] exe

The content is a stupid list of keys, which came to my mind, maybe I forgot some.
First line should make the script only work when your aoc-window is active.
edit: added Tab ^ arrow-keys Esc / \ # [ ] <
edit: removed arrow-keys
Code:
#IfWinActive, ahk_class Age of Empires II Expansion a::SendInput a b::SendInput b c::SendInput c d::SendInput d e::SendInput e f::SendInput f g::SendInput g h::SendInput h i::SendInput i j::SendInput j k::SendInput k l::SendInput l m::SendInput m n::SendInput n o::SendInput o p::SendInput p q::SendInput q r::SendInput r s::SendInput s t::SendInput t u::SendInput u v::SendInput v w::SendInput w x::SendInput x y::SendInput y z::SendInput z 0::SendInput 0 1::SendInput 1 2::SendInput 2 3::SendInput 3 4::SendInput 4 5::SendInput 5 6::SendInput 6 7::SendInput 7 8::SendInput 8 9::SendInput 9 +::SendInput {+} -::SendInput {-} .::SendInput {.} ,::SendInput {,} ^::SendInput {^} /::SendInput {/} \::SendInput {\} #::SendInput {#} [::SendInput {[} ]::SendInput {]} <::SendInput {<} Space::SendInput {Space} Tab::SendInput {Tab} BackSpace::SendInput {BS} Enter::SendInput {Enter} Esc::SendInput {Esc} Del::SendInput {Del} Home::SendInput {Home} End::SendInput {End} PgDn::SendInput {PgDn} PgUp::SendInput {PgUp}
Link | Reply | Quote
 Jineapple


Edited 10 February 2017 - 1:47 pm by Jineapple
That's a pretty neat workaround! Will try it out as well.

Edit: Tested it and works like a charm! Make sure you are running it with admin rights.
Link | Reply | Quote
 slaca


Edited 10 February 2017 - 5:09 pm by slaca
wattle wrote:
Hi, you might try this dump tiny hotkey-script.
All it does is simply sending the same key you press, that means keyDown-keyUp.
So if you press b it will instantly release b and your hotkey will accordingly be instantly send.

I tried it for some hotkeys and it seems to work like in HD, I can however not guarantee there are no sideeffects.

You can either use the ahk script (just an ascii-file) if you have Autohotkey installed or use the exe if you have not. You may need to run it with admin-rights to make it work.

[You must login to view link] ahk-file
[You must login to view link] exe

The content is a stupid list of keys, which came to my mind, maybe I forgot some.
First line should make the script only work when your aoc-window is active.
edit: added Tab,^,arrow-keys,Esc
Code:
#IfWinActive, ahk_class Age of Empires II Expansion a::SendInput a b::SendInput b c::SendInput c d::SendInput d e::SendInput e f::SendInput f g::SendInput g h::SendInput h i::SendInput i j::SendInput j k::SendInput k l::SendInput l m::SendInput m n::SendInput n o::SendInput o p::SendInput p q::SendInput q r::SendInput r s::SendInput s t::SendInput t u::SendInput u v::SendInput v w::SendInput w x::SendInput x y::SendInput y z::SendInput z 0::SendInput 0 1::SendInput 1 2::SendInput 2 3::SendInput 3 4::SendInput 4 5::SendInput 5 6::SendInput 6 7::SendInput 7 8::SendInput 8 9::SendInput 9 +::SendInput {+} -::SendInput {-} .::SendInput {.} ,::SendInput {,} ^::SendInput {^} Space::SendInput {Space} Tab::SendInput {Tab} BackSpace::SendInput {BS} Enter::SendInput {Enter} Esc::SendInput {Esc} Del::SendInput {Del} Up::SendInput {Up} Down::SendInput {Down} Left::SendInput {Left} Right::SendInput {Right} Home::SendInput {Home} End::SendInput {End} PgDn::SendInput {PgDn} PgUp::SendInput {PgUp}

OMG, it works, thank you dude. Just run the exe as administrator and everything works fine.
Only one of my hotkeys is missing. I have UK layout keyboard, and that is between the left shift and the z.
In uk keyboard it is " \ ". But my windows language is hungarian and that is " í " when i press it.
Could u add it to me?
Link | Reply | Quote
 wattle


Posted 10 February 2017 - 5:41 pm
have added your key and some others: [You must login to view link]
I might look for a code to make the script release the key which has been pressed, no matter which one or maybe someone knows it already.


Link | Reply | Quote
[1]2
Displaying 1 - 15 out of 23 posts
Forum Jump:
1 User(s) are reading this topic (in the past 30 minutes)
0 members, 1 guests

What's popular right now: