News:

Come Chat with us live! Learn how HERE!

Main Menu

Modifier Binds

Started by Roanoke, October 25, 2008, 03:24:55 AM

Roanoke

I wish I had the ability to do a bind like:
bind shift+w "say_team ..."
And the same goes for alt and control, and whatever other supported modifier keys.

Bissig

Well, they way we do this is with VSTRs.

F.e.:

bind SHIFT "vstr chatter1"
set chatter1 "bind 1 say_team Defend!; bind 2 say_team Attack!; bind 3 say_team Out of my way!; bind SHIFT vstr chatter2"
set chatter2 "exec autoexec.cfg; bind SHIFT vstr chatter1"

If there are any errors in that one please point them out.

kevlarman

Quote from: Bissig on October 25, 2008, 04:11:02 AM
Well, they way we do this is with VSTRs.

F.e.:

bind SHIFT "vstr chatter1"
set chatter1 "bind 1 say_team Defend!; bind 2 say_team Attack!; bind 3 say_team Out of my way!; bind SHIFT vstr chatter2"
set chatter2 "exec autoexec.cfg; bind SHIFT vstr chatter1"

If there are any errors in that one please point them out.
this doesn't work because pressing shift then w still causes the chat (you would need to bind to a key release to fix this). the reason you can't (easily) bind something to modifier keys is that the engine doesn't treat them as such, since they are valuable real estate on the keyboard (easy to reach quickly and accurately).
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

Amanieu

* Amanieu adds key modifier binds to his TODO list
Quote
< kevlarman> zakk is getting his patches from shady frenchmen on irc
< kevlarman> this can't be a good sign :P

Lava Croft

#4
Yes, Quake and Quake II can do this.

alias +shiftmod "bind w say A"
alias -shiftmod "bind w say B"
bind shift +shiftmod

Roanoke

It'd be awesome if this was implemented. I could have talk binds on the alt key, build binds on the shift key, and evolution/buying binds on the control key, while reusing the same keys but with different modifiers. Several modifiers would be nice, something like
bind control+alt+z+x "say_team ..."

kevlarman

Quote from: Roanoke on October 25, 2008, 07:23:24 PM
It'd be awesome if this was implemented. I could have talk binds on the alt key, build binds on the shift key, and evolution/buying binds on the control key, while reusing the same keys but with different modifiers. Several modifiers would be nice, something like
bind control+alt+z+x "say_team ..."
you can already do this with some patience and a client that can bind to key releases (lava's post should give you the idea).
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

Roanoke

Apparently I missed something. Didn't lava's post concern quake and not tremulous? Moreover, I believe this should be in the official client.

Syntac

Tremulous is based on Quake.

The developers are hardly going to re-release the official (ancient) client, now that there are so many of them floating around.

Roanoke

Ah, so lava's method works for trem too?

Syntac

#10
It should, although I haven't tried it. You'll have to get an alias-enabled client (TremFusion springs to mind).

[EDIT] Typomania...

Bissig

Quote from: kevlarman on October 25, 2008, 06:11:54 AM
Quote from: Bissig on October 25, 2008, 04:11:02 AM
Well, they way we do this is with VSTRs.

F.e.:

bind SHIFT "vstr chatter1"
set chatter1 "bind 1 say_team Defend!; bind 2 say_team Attack!; bind 3 say_team Out of my way!; bind SHIFT vstr chatter2"
set chatter2 "exec autoexec.cfg; bind SHIFT vstr chatter1"

If there are any errors in that one please point them out.
this doesn't work because pressing shift then w still causes the chat (you would need to bind to a key release to fix this). the reason you can't (easily) bind something to modifier keys is that the engine doesn't treat them as such, since they are valuable real estate on the keyboard (easy to reach quickly and accurately).

Well, thats why I suggested to rebind the number keys on pressing the shift button. And by pressing it the second time it executes the standard binds in autoexec.cfg thus reverting the number keys to their initial state.

benmachine

Quote from: Roanoke on October 26, 2008, 12:11:52 AM
Ah, so lava's method works for trem too?

Tremulous is based on Quake 3

Quote from: Lava Croft on October 25, 2008, 08:32:24 AM
Yes, Quake and Quake II can do this.

Tremulous can't, without modification.
benmachine

Amanieu

Tremfusion can do lava's way ;D
Quote
< kevlarman> zakk is getting his patches from shady frenchmen on irc
< kevlarman> this can't be a good sign :P

kevlarman

Quote from: Amanieu on October 26, 2008, 02:23:22 AM
Tremfusion can do lava's way ;D
so can mg's client and fsm, but i didn't go advertising any of the 3 for a reason >.>
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

Lava Croft


danmal

Quote from: kevlarman on October 26, 2008, 04:31:00 AM
so can mg's client and fsm, but i didn't go advertising any of the 3 for a reason >.>

Why not? I mean if people want to use the modifier keys then why not mention that those three clients support it? Unless of course I'm missing something.

techhead

Quote from: Lava Croft on October 26, 2008, 08:32:17 AM
Quote from: benmachine on October 26, 2008, 01:58:17 AM
Quote from: Lava Croft on October 25, 2008, 08:32:24 AM
Yes, Quake and Quake II can do this.

Tremulous can't, without modification.
Oh, really? :)
Oh great and wise Lava Croft, please show us the way!
Deliver us from our ignorance!

In all seriousness, though, I've long been wondering how do do it without getting a new client.
I'm playing Tremulous on a Mac!
MGDev fan-club member
Techhead||TH
/"/""\"\
\"\""/"/
\\:.V.://
Copy and paste Granger into your signature!

kevlarman

Quote from: Lava Croft on October 26, 2008, 08:32:17 AM
Quote from: benmachine on October 26, 2008, 01:58:17 AM
Quote from: Lava Croft on October 25, 2008, 08:32:24 AM
Yes, Quake and Quake II can do this.

Tremulous can't, without modification.
Oh, really? :)
id removed alias in q3, vstr only binds to key presses, not key releases.
Quote from: danmal on October 26, 2008, 09:05:26 AM
Quote from: kevlarman on October 26, 2008, 04:31:00 AM
so can mg's client and fsm, but i didn't go advertising any of the 3 for a reason >.>

Why not? I mean if people want to use the modifier keys then why not mention that those three clients support it? Unless of course I'm missing something.
because binding to key releases provides a significant advantage (in some circumstances) over players with 1.1 clients.
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

benmachine

Quote from: kevlarman on October 26, 2008, 06:08:55 PM
because binding to key releases provides a significant advantage (in some circumstances) over players with 1.1 clients.

...which is why we didn't add it in the MG client, as far as I remember. So tremfusion and possibly fsm are the only ones that will do it at present.
We have improved keyup bind handling, but that's not anything as exciting as it sounds. It just means that things like bind j "echo hi; +forward" work in a much more intuitive manner.
benmachine

Lakitu7

No, we didn't. You're right.

Roanoke

But does this have a chance of getting implemented in the MG or main client?

Nux

Quote from: kevlarman on October 26, 2008, 06:08:55 PM
because binding to key releases provides a significant advantage (in some circumstances) over players with 1.1 clients.

Care to give an example? (I'm not implying the circumstances don't exist, merely wondering which circumstances you were thinking of)

kevlarman

Quote from: Nux on October 27, 2008, 10:42:34 PM
Quote from: kevlarman on October 26, 2008, 06:08:55 PM
because binding to key releases provides a significant advantage (in some circumstances) over players with 1.1 clients.

Care to give an example? (I'm not implying the circumstances don't exist, merely wondering which circumstances you were thinking of)
setting a high mouse sensitivity normally and lowering it while the fire button is held.
Quote from: Asvarox link=topic=8622.msg169333#msg169333Ok let's plan it out. Asva, you are nub, go sit on rets, I will build, you two go feed like hell, you go pwn their asses, and everyone else camp in the hallway, roger?
the dretch bites.
-----
|..d| #
|.@.-##
-----

Lava Croft

Boy, that's such a significant advantage in a world where mice have special buttons to set your DPI, which in effect sets your sensitivitity.

+ OPTIMUS +

power of the ultrabinds in a world where 80% of the players are not aware of the existence of bindings in global is not really important.
success is the ability to go from failure to failure without losing your enthusiasm

+PICS+

Nux

#26
Quote from: kevlarman on October 28, 2008, 03:33:12 AM
setting a high mouse sensitivity normally and lowering it while the fire button is held.

I see your point. All the quick turns of high-sens coupled with the precision of low. I'm not sure if I'd like all the sensitivity switches though. I perform best when I've adjusted to ONE sens.

Quote from: Lava Croft on October 28, 2008, 04:38:39 AM
Boy, that's such a significant advantage in a world where mice have special buttons to set your DPI, which in effect sets your sensitivity.

In the case of sensitivity modifiers inbuilt into the mouse, these are (in all cases I know of) separate buttons that need to be pressed to adjust it each time. This is equivalent to the bind system already in use and so doesn't concern the 'release bind' issue. Still, the ability to change your sensitivity actively might be an issue in itself. I guess it's tolerable when it's not so easy to pull off.

Quote from: + OPTIMUS + on October 28, 2008, 04:47:12 AM
power of the ultrabinds in a world where 80% of the players are not aware of the existence of bindings in global is not really important.

Surely it's the advantage that those 20% would have which makes this important.

The ability to customise your controls gives you an advantage by itself. A line needs to be drawn before the player has all the hard work done for them.

Lava Croft

Changing my DPI (sensitivity) requires me to press either a button above or a button below my mousewheel, a button which is touched by a spare middlefinger. So, it's really, really easy to pull off.

This talking about how aliases might be a disadvantage to people who do not have/use aliases is basically a cry to remove any kind of customisation from Tremulous, since any kind of of customisation is a 'disadvantage' to the person who does not know about it, or does not wish to use it.


Nux

I believe you have the same mouse as me- Logitech MX518 gaming mouse -so I'm familiar with this feature. I wouldn't say it's "really really easy to pull off" since it requires so many additional clicks to move in and out of the respective DPIs. The point about the release bind is that it only requires the clicks you alredy make when firing.

The only time I ever use this feature is if I'm grabbed by a basi or spinning on walls as a mara. At any other point I find it far easier to just move the mouse more.

I'm not calling for customisation to be removed, I'm recognising the crux of the matter: To what extent do you allow for a players controls to be easier?

For example, let's add an output value concerning the enemies location and status so you can communicate this information quickly to your team. Let's also add an input value for changing the direction you're facing so that you can set your view efficiently. These changes would sure make it easier to play, don't you think?

Lava Croft

You are missing my point. The argument that 'alias' should not be part of the default Tremulous client, because it might mean a disadvantage to other players, is invalid.

Also, please stop talking like a complete nutcase in your 'example'.