Team Fortress 2
Problem with Funtion Key Binds
I have an Asus laptop running Windows 8, and I've recently noticed that holding "Fn" before hitting a function key does some different bind. For example, just hitting f12 does a Steam screenshot, but Fn + f12 (which is volume increase for me) also opens up my backpack. Fn + f11 is volume decrease, but also is "c" for some reason (I use "c" for class-specific binds). I don't do things like adjust volume much in-game, but it would be useful if it didn't also do other things when I try to.

This is very confusing to me, as I've entirely customized my controls, so extra binds shouldn't be happening. The first line in my autoexec.cfg is unbindall, followed by every possible bindable key on my keyboard whether bound or not, to ensure a key I don't want to do anything doesn't. In each of my <class>.cfg files, I run the autoexec.cfg on the first line, then do class binds on keys "z", "x" and "c" (if any). This just means all of my controls (including class-specific ones) are rebound whenever I start the game or switch classes at any time.

So, especially given my controls are being frequently rebound to my specific settings, how would something like Fn + f12 open up my backpack (which I actually have bound to "b")? I can only check in the console for "bind f12" (which turns up "" as expected since I leave it for Steam screenshot). I tried a bunch of Google searching as well, but all I get is Mac users having f4 issues with readying up in MvM.

If anyone has any idea about what could be happening, I'd greatly appreciate the help.
Last edited by the_rabidsquirel; Jul 17, 2014 @ 12:26am
< >
Showing 1-10 of 10 comments
the_rabidsquirel Jul 17, 2014 @ 1:05am 
Bump. Also, here's the contents of my autoexec.cfg, if that helps at all. My <class>.cfg files are all very small.



unbindall

bind "ESCAPE" "cancelselect"
bind "F1" "cl_trigger_first_notification"
bind "F2" "cl_decline_first_notification"
bind "F3" "askconnect_accept"
bind "F4" "player_ready_toggle"
bind "F5" "screenshot"
bind "F6" "save_replay"
bind "F7" "abuse_report_queue"
bind "F8" "callvote"
bind "F9" ""
bind "F10" ""
bind "F11" ""
bind "F12" "" // Steam screenshot

bind "`" "toggleconsole"
bind "1" "slot1"
bind "2" "slot2"
bind "3" "slot3"
bind "4" "slot4"
bind "5" "slot5"
bind "6" "slot6"
bind "7" "slot7"
bind "8" "slot8"
bind "9" "slot9"
bind "0" "slot10"
bind "-" ""
bind "=" ""
bind "BACKSPACE" ""

bind "TAB" "+showscores"
bind "q" "lastinv"
bind "w" "+forward"
bind "e" "+use_action_slot_item"
bind "r" "+reload"
bind "t" "impulse 201" // Spray logo
bind "y" "say"
bind "u" "say_team"
bind "i" "inspect"
bind "o" ""
bind "p" ""
(for some reason putting both square brackets in here shows tons of repeated text?)
bind "(left square bracket)" "+ability" // War3Mod servers only
bind "(right square bracket)" "+ultimate" // War3Mod servers only
bind "ENTER" ""

bind "CAPSLOCK" ""
bind "a" "+moveleft"
bind "s" "+back"
bind "d" "+moveright"
bind "f" "medic_call"
bind "g" "+taunt"
bind "h" ""
bind "j" ""
bind "k" "explode"
bind "l" ""
bind "SEMICOLON" ""
bind "'" ""
bind "\" ""

alias "medic_call" "call_for_medic"
alias "call_for_medic" "voicemenu 0 0"
alias "call_for_uber" "voicemenu 1 6"

bind "SHIFT" "+toggleSHIFT"
bind "z" "" // Used by <class>.cfg
bind "x" "" // Used by <class>.cfg
bind "c" "" // Used by <class>.cfg
bind "v" "+voicerecord"
bind "b" "open_charinfo_backpack"
bind "n" "dropitem"
bind "m" "showmapinfo"
bind "," "changeclass"
bind "." "changeteam"
bind "/" "open_charinfo_direct"
bind "RSHIFT" "+toggleRSHIFT"

alias "+toggleSHIFT" "alias medic_call call_for_uber"
alias "-toggleSHIFT" "alias medic_call call_for_medic"

alias "class1" "join_class scout"
alias "class2" "join_class soldier"
alias "class3" "join_class pyro"
alias "class4" "join_class demoman"
alias "class5" "join_class heavyweapons"
alias "class6" "join_class engineer"
alias "class7" "join_class medic"
alias "class8" "join_class sniper"
alias "class9" "join_class spy"
alias "class10" ""
alias "+toggleRSHIFT" "bind 1 class1; bind 2 class2; bind 3 class3; bind 4 class4; bind 5 class5; bind 6 class6; bind 7 class7; bind 8 class8; bind 9 class9; bind 0 class10"
alias "-toggleRSHIFT" "bind 1 slot1; bind 2 slot2; bind 3 slot3; bind 4 slot4; bind 5 slot5; bind 6 slot6; bind 7 slot7; bind 8 slot8; bind 9 slot9; bind 0 slot10"

bind "CTRL" "+duck"
bind "ALT" ""
bind "SPACE" "+jump"
bind "RCTRL" "+toggleRCTRL"

alias "preset1" "load_itempreset 0"
alias "preset2" "load_itempreset 1"
alias "preset3" "load_itempreset 2"
alias "preset4" "load_itempreset 3"
alias "preset5" ""
alias "preset6" ""
alias "preset7" ""
alias "preset8" ""
alias "preset9" ""
alias "preset10" ""
alias "+toggleRCTRL" "bind 1 preset1; bind 2 preset2; bind 3 preset3; bind 4 preset4; bind 5 preset5; bind 6 preset6; bind 7 preset7; bind 8 preset8; bind 9 preset9; bind 0 preset10"
alias "-toggleRCTRL" "bind 1 slot1; bind 2 slot2; bind 3 slot3; bind 4 slot4; bind 5 slot5; bind 6 slot6; bind 7 slot7; bind 8 slot8; bind 9 slot9; bind 0 slot10"

bind "HOME" ""
bind "PGUP" ""
bind "PGDN" ""
bind "END" ""

bind "KP_SLASH" ""
bind "KP_MULTIPLY" ""
bind "KP_MINUS" ""
bind "KP_PLUS" "voicemenu 1 1" // Spy!
bind "KP_ENTER" "voicemenu 0 1" // Thanks!
bind "KP_DEL" ""

bind "KP_INS" ""
bind "KP_END" "voice_menu_1"
bind "KP_DOWNARROW" "voice_menu_2"
bind "KP_PGDN" "voice_menu_3"
bind "KP_LEFTARROW" ""
bind "KP_5" ""
bind "KP_RIGHTARROW" ""
bind "KP_HOME" ""
bind "KP_UPARROW" ""
bind "KP_PGUP" ""

bind "UPARROW" "say_team !rtd"
bind "LEFTARROW" "say_team Spy disguised as me!"
bind "DOWNARROW" ""
bind "RIGHTARROW" "say_team I'm out of ammo!"

bind "MOUSE1" "+attack"
bind "MOUSE2" "+attack2"
bind "MOUSE3" "+attack3"
bind "MWHEELUP" ""
bind "MWHEELDOWN" ""
dukkha Jul 17, 2014 @ 1:54am 
does it matter? I know it would be interesting to customize them or something but its probably more effort than its worth.
the_rabidsquirel Jul 17, 2014 @ 2:10am 
It matters little, but I'm wondering. I would prefer not to have mysterious binds on my functions keys while I'm holding "Fn".
dukkha Jul 17, 2014 @ 2:36am 
Originally posted by the_rabidsquirel:
It matters little, but I'm wondering. I would prefer not to have mysterious binds on my functions keys while I'm holding "Fn".

try binding fn to "press" the keys, like "bind (fn?) 1" it should give a readout of what 1 is bound to, so you'll know if its rebinding the keys or doing some other ♥♥♥♥, fn keys like volume and pause etc. are sometimes mapped to hard-keys.
Last edited by dukkha; Jul 17, 2014 @ 2:36am
the_rabidsquirel Jul 17, 2014 @ 2:47am 
http://upload.wikimedia.org/wikipedia/commons/7/78/Keyboard_fn_key.png

I mean this "Fn" key. It by itself is not bindable. As you can see in my autoexec.cfg, near the top, all function keys (f1, f2, etc.) are bound. It's when I'm holding "Fn" and also hitting a function key like f5 or whatever that mysterious binds are occurring. This is particularly strange, as I don't even know how to bind that, and I'm running unbindall anyway. I have no idea how these binds exist.
dukkha Jul 17, 2014 @ 3:49am 
prolly the game taking hwid's for unknown keys and making assumptions.
the_rabidsquirel Jul 17, 2014 @ 3:58am 
Probably something silly like that. Especially considering the function key isn't really recognized as an actual key.
the_rabidsquirel Nov 6, 2015 @ 7:55pm 
Originally posted by VRG XxArcticEnderxX | A.E.D.P.:
Escape is broken. It doesn't pull up the menu. Thanks GabeN XXD
That's one hell of a necro.
I've found that any key bound to Play/Pause will be interpreted as G being pressed in Source. Also recently found that Volume Down is interpreted as C being pressed, although I've only had that problem with my external keyboard. Really dumb and annoying.

Solutions I can think of
Volume scroller wheel causes no problem for me, but its not as convenient
Make a bind to adjust ingame volume then you wont need to adjust master volume as much
Unbind C and G...(but then you cant use those keys ingame)
Remap C and G to be recognized as something else and then you can make source think your pressing some other key then adjust your bind ingame accordingly. However then you'd have to turn off the script every time you wanted to use those keys regularly...
ArcticDracoX May 5, 2020 @ 5:42pm 
Originally posted by 3 rats on a keyboard:
I've found that any key bound to Play/Pause will be interpreted as G being pressed in Source. Also recently found that Volume Down is interpreted as C being pressed, although I've only had that problem with my external keyboard. Really dumb and annoying.

Solutions I can think of
Volume scroller wheel causes no problem for me, but its not as convenient
Make a bind to adjust ingame volume then you wont need to adjust master volume as much
Unbind C and G...(but then you cant use those keys ingame)
Remap C and G to be recognized as something else and then you can make source think your pressing some other key then adjust your bind ingame accordingly. However then you'd have to turn off the script every time you wanted to use those keys regularly...
Don't be like me almost five years and necro a thread that's been dead.. for almost five years.
Last edited by ArcticDracoX; May 5, 2020 @ 5:43pm
< >
Showing 1-10 of 10 comments
Per page: 1530 50

Date Posted: Jul 16, 2014 @ 11:56pm
Posts: 10