News | Forum | People | FAQ | Links | Search | Register | Log in
Quakespasm Engine
This engine needs its own thread.

Feedback: I like the OS X version, but I have to start it from the terminal for it to work and can't just double-click it like a traditional OS X app. I'm sure you guys already know this, either way great engine.

http://quakespasm.sourceforge.net/
First | Previous | Next | Last
I Just Found A Problem 
My main laptop has a partially broken keyboard; the C and D keys doesn't work. Due to this, to play Arcane Dimensions I've went to the Controls menu and configured QuakeSpasm 0.91.1 like this:
bind 2 +forward
bind w +back
bind q +moveleft
bind e +moveright

Now I'm using an external keyboard, so I've decided to reconfigure the movement controls back to the WASD keys. I've done this through the Controls menu again, but to rebind the "impulse 2" to the number 2 key I'd have to use the console.

And this is where the problem happens. Take a look at the ABNT2 keyboard layout. This is the keyboard layout for Brazilian keyboards. Also, remember that vanilla Quake engines does not require quotation marks around the command string for the bind command. But QuakeSpasm does, and instead of using a fixed American keyboard layout like vanilla Quake does, QuakeSpasm uses the actual keyboard layout from the OS.

Now put these factors together, and you'll understand the problem. QuakeSpasm made it impossible for me to rebind impulse commands through the console. If I don't put quotation marks, QuakeSpasm doesn't accept the binding, and when I try to type the quotation marks, QuakeSpasm toggles off the console - even if I type "disconnect" to get a full screen console (it switches to the main menu).

From an usability perspective, this is an awful situation. The only way to restore that binding without resetting everything else is to manually edit the config file.

Such problems must be predicted when designing input interfaces. Even the American keyboard layout can have problems in some cases, since the tilde character is used in some filepaths. The solution I've implemented in the latest versions of Makaqu is to not toggle off the console when pressing that key; the Esc key should be used instead.

Also, an additional user-friendliness feature can be to only toggle off the console by pressing that key if there's nothing typed in the commandline. That would prevent the user from starting a line with tildes, quotation marks or other stuff, but the user can work around that by inserting a space first. 
 
Not knowing history means being doomed to repeat it:

DarkPlaces 2007-03-15

"Changed default value of con_closeontoggleconsole cvar to 1, to put an end to the nearly 2 years of complaints about the tilde key not closing the console." 
@mk 
That's an awesome bug report for the Quakespasm guys.

I'm just pointing out your suggestion was the most universally reviled feature that DarkPlaces ever had and people complained about it without end. 
Baker 
That's why I also suggested to only close the console if the commandline is empty. 
 
Thanks for the detailed report Mankrip.. that does sound annoying. :(

I was hoping all keyboard layouts would have some unimportant character at the tilde key location, but double quotes break that assumption. That microsoft site looks really useful.

I'm not sure what fix we should take.
- Maybe 'Alt+console key' suppresses toggling the console, and types the character instead?
- a '-uslayout' command line option makes the keyboard act like a US layout, like vanilla Quake? 
 
I'm not sure what fix we should take.

Making the "toggleconsole" key not toggle the console if the console prompt isn't empty should be a good solution for everyone. When the prompt is empty, let it toggle as usual.

I've just created a tutorial for it, and implemented it in Retroquad. Worked perfectly:
User-friendly tilde typing in the console 
Exceptions 
Making the "toggleconsole" key not toggle the console if the console prompt isn't empty
Sorry that is a really annoying feature in DP, that in order to close the console you have to clear the console line of anything typed! Having a single key toggle the console regardless is certainly a good feature. 
 
Why not just make it so the user can specify which key toggles the console?

Am I missing something? 
Wait 
of course you can already do this. just edit the config.

bind "~" "toggleconsole"

replace ~ with your key of choice

So what's the bloomin' problem here? 
 
Kinn: Looks like ~ is hardcoded, even if you bind another key to toggleconsole. It was like that in winquake too. Not sure it's a bug, there could be some value in having it hardcoded in case a mod rebinds it by accident. Anyway, a cvar to move it completely to another key might be good.

I agree with sock, blocking the toggle when there is text typed annoys me in DP because the QS beahviour is muscle memory for me, I don't even think about it. 
 
Shift-escape is nice 
I Second Shift-Escape 
 
 
I agree with sock, blocking the toggle when there is text typed annoys me

How often does that really happen? In my case, it's almost never.

Is is okay to effectively punish some users in order to keep a behavior that is not a concrete need?

- Making a command work is a concrete need.
- Avoiding seldom small nuisances is a emotional need.

I give up. I don't debate things when emotion is put above reason. Nevermind the users who must enter commands that the default behavior doesn't allow them to. 
 
just hit escape if there's already text there.
shift+escape to get to the console, escape to close it. then keymaps make no difference.
ideally you shouldn't be going to the console very frequently anyway.

small note regarding tilde... it should actually be bind ` rather than bind ~, as the actual key is backtick rather than tilde.
note that this clearly leaves the console inaccessible with that keymap because backtick requires shift to get at it, and thus shift+escape to get at the console starts to sound so very much better.

the issue is also present on german keymaps, in a different form.

and wasd key layouts on french azerty keymaps just do not work. :P

and laptops... *shudder* 
Habitual 
How often does that really happen? In my case, it's almost never.

I imagine that lots of players are in the habit of toggling the console to cancel a command. Even if you offer a alternative, there's a cost to breaking a habit.

That's not to say that we should leave players with non-US keyboard layouts stranded, but having a fix behind a cvar which defaults to vanilla behaviour is probably the best of a bad bunch of options. 
 
QS handles WASD on AZERTY (and other non-qwerty layouts) by making in-game keys always use a US layout. The logic is that ingame you're not doing text entry, but using the keyboard like a joystick. Source engine does the same thing, so hopefully it's a sane approach.

IMHO changing the behaviour of the US layout is not acceptable because we are trying to keep the original feel, people got used to the nuances of how the ~ key behaves over the years.

There are various hacks possible, like we could probably disable the key-under-Esc as the toggleconsole key under some conditions (only use it if they key is "`"/"~" on your keyboard layout?) That seems ugly though. Still, having the Alt key suppress the console toggle in case you want to type that character seems most elegant atm.

I'm assuming people on non-US layouts actually like the fact that QS uses your native layout for text entry in the console? 
 
I'm used to toggling the console with "tilde" and certainly wouldn't want to get used to another system. And this is despite the fact that in QS it's already broken on a German keyboard layout where closing the console with the "tilde" key causes it to print a ^ character the next time you open it which then has to be deleted in order to type the command. To avoid it from happening the console has to be closed with ESC which I already consider a hassle.

Just had me thinking whether some sort of alias script could fix it as a workaround. But meh. 
Do Whatever You Want 
just as long as you provide a way to bring it back to stock. *you* may think your new way is awesome, but not everyone else does.
and yes, i fucking hate the dp console. i also hate any console that doesn't auto complete q+tab to quit. i don't care is there is a command higher up in the alphabetical order. 
 
Alias q quit 
 
Already have that for toggle entities. ;) 
 
I am so with you on the q<completion> hate. FTEQW does the same iirc. 
Different Styles 
How often does that really happen? In my case, it's almost never.
There are countless examples of console text being incomplete. Try creating RTLIGHT files for DP and see how often you need to work with the console. Checking for commands, trying to find out options and modifying fog parameters. It can take a while to tweak fog for a map and then there is trigger volume fog for AD!

I think you have to appreciate as a coder you are using the engine different to a level designer. It may not seem obvious, but the console is used a lot during development and testing of a map. 
Sock! 
I agree with him, i use it like crazy too, for getting fog right, doing good info_intermissions, checking coords in general with showpos, the various developer messages that get displayed during testing and you don't godmode and need to read them later...
Also, Negke, i feel you...^ 
 
there is trigger volume fog for AD!

!!!

also, setting up rtlights via console sucks, would be nice to have some sort of editor ui... 
LOL 
Killpixel, did you even play it? Just kidding, ad_crucial shows it well, the fog triggers are ace, right?

Perfect for changing the mood when entering a lavacave or an area high up, it really does compliment the lighting and all..

Swampy uses them too, more subtle though. 
First | Previous | Next | Last
You must be logged in to post in this thread.
Website copyright © 2002-2024 John Fitzgibbons. All posts are copyright their respective authors.