An example of ~/.fluxbox/keys:
!mouse actions added by fluxbox-update_configs
OnTitlebar Mouse1 :MacroCmd {Focus} {Raise} {ActivateTab}
!mouse actions added by fluxbox-update_configs
OnTitlebar Move1 :StartMoving
OnLeftGrip Move1 :StartResizing bottomleft
OnRightGrip Move1 :StartResizing bottomright
OnWindowBorder Move1 :StartMoving
# click on the desktop to get menus
OnDesktop Mouse1 :HideMenus
OnDesktop Mouse2 :WorkspaceMenu
OnDesktop Mouse3 :RootMenu
# scroll on the desktop to change workspaces
OnDesktop Mouse4 :PrevWorkspace
OnDesktop Mouse5 :NextWorkspace
# scroll on the toolbar to change workspaces
OnToolbar Mouse4 :PrevWorkspace
OnToolbar Mouse5 :NextWorkspace
# alt + left/right click to move/resize a window
OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
# middle click a window's titlebar and drag to attach windows
OnTitlebar Mouse2 :StartTabbing
# double click on the titlebar to shade
OnTitlebar Double Mouse1 :MaximizeVertical
# right click on the titlebar for a menu of options
OnTitlebar Mouse3 :WindowMenu
# alt-tab
Mod4 Tab :NextWindow {groups}
Mod4 Shift Tab :PrevWindow {groups}
# cycle through tabs in the current window
Mod4 Tab :NextTab
Mod4 Shift Tab :PrevTab
# go to a specific tab in the current window
Mod4 1 :Tab 1
Mod4 2 :Tab 2
Mod4 3 :Tab 3
Mod4 4 :Tab 4
Mod4 5 :Tab 5
Mod4 6 :Tab 6
Mod4 7 :Tab 7
Mod4 8 :Tab 8
Mod4 9 :Tab 9
# open a terminal
Mod1 F1 :Exec urx
# open a dialog to run programs
Mod1 F2 :If {Some Matches (grun) (workspace=[current])} {NextWindow (grun)} {Exec grun}
Mod4 r :If {Some Matches (grun) (workspace=[current])} {NextWindow (grun)} {Exec grun}
Mod4 space :If {Some Matches (grun) (workspace=[current])} {NextWindow (grun)} {Exec grun}
# start emacs
Mod4 t :If {Some Matches (emacs) (workspace=[current])} {NextWindow (emacs)} {Exec emacs}
# volume settings, using common keycodes
# if these don't work, use xev to find out your real keycodes
123 :Exec amixer sset Speaker,0 1+
122 :Exec amixer sset Speaker,0 1-
121 :Exec amixer sset Master,0 toggle
Mod4 Home :Exec amixer sset Speaker,0 1+
Mod4 End :Exec amixer sset Speaker,0 1-
Mod4 Prior :Exec amixer sset Headphone,0 1+
Mod4 Next :Exec amixer sset Headphone,0 1-
# set beep to minimal
Mod4 b :Exec amixer sset Beep 1
# set beep to normal
Mod4 Shift b :Exec amixer sset Beep 15
# moc
Mod4 Insert :Exec mocp --next
Mod4 Delete :Exec mocp --toggle-pause
# current window commands
Mod1 F4 :Close
Mod1 F9 :Minimize
Mod1 F10 :Maximize
Mod1 F11 :Fullscreen
# open the window menu
Mod1 space :WindowMenu
# exit fluxbox
Control Mod1 Delete :Exit
# change to a specific workspace
Control F1 :Workspace 1
Control F2 :Workspace 2
Control F3 :Workspace 3
Control F4 :Workspace 4
Control F5 :Workspace 5
Control F6 :Workspace 6
Control F7 :Workspace 7
Control F8 :Workspace 8
Control F9 :Workspace 9
Control F10 :Workspace 10
Control F11 :Workspace 11
Control F12 :Workspace 12
# send the current window to a specific workspace
Mod4 F1 :SendToWorkspace 1
Mod4 F2 :SendToWorkspace 2
Mod4 F3 :SendToWorkspace 3
Mod4 F4 :SendToWorkspace 4
Mod4 F5 :SendToWorkspace 5
Mod4 F6 :SendToWorkspace 6
Mod4 F7 :SendToWorkspace 7
Mod4 F8 :SendToWorkspace 8
Mod4 F9 :SendToWorkspace 9
Mod4 F10 :SendToWorkspace 10
Mod4 F11 :SendToWorkspace 11
Mod4 F12 :SendToWorkspace 12
# send the current window and change to a specific workspace
Control Mod4 F1 :TakeToWorkspace 1
Control Mod4 F2 :TakeToWorkspace 2
Control Mod4 F3 :TakeToWorkspace 3
Control Mod4 F4 :TakeToWorkspace 4
Control Mod4 F5 :TakeToWorkspace 5
Control Mod4 F6 :TakeToWorkspace 6
Control Mod4 F7 :TakeToWorkspace 7
Control Mod4 F8 :TakeToWorkspace 8
Control Mod4 F9 :TakeToWorkspace 9
Control Mod4 F10 :TakeToWorkspace 10
Control Mod4 F11 :TakeToWorkspace 11
Control Mod4 F12 :TakeToWorkspace 12
# dpms off
Mod4 Pause :Exec xset dpms force off
# lock
Mod4 l :Exec xlock -fg white -bg black -dpmsoff 5 -mode blank
# show desktop
Mod4 d :ToggleCmd {ShowDesktop} {DeIconify all originquiet}
# decor
Mod4 Mod1 0 :ToggleDecor
# menu anywhere
Mod4 Mouse3 :RootMenu
# 2/3rd screen
Mod4 bracketleft :MacroCmd {Moveto 0 0} {ResizeTo 902 746}
Mod4 bracketright :MacroCmd {Moveto 464 0} {ResizeTo 902 746}
# half screen
Mod4 semicolon :MacroCmd {Moveto 0 0} {ResizeTo 683 746}
Mod4 apostrophe :MacroCmd {Moveto 684 0} {ResizeTo 683 746}
# 1/3rd screen
Mod4 period :MacroCmd {Moveto 0 0} {ResizeTo 464 746}
Mod4 slash :MacroCmd {Moveto 902 0} {ResizeTo 464 746}
# max vertical
Mod4 comma :MaximizeVertical
# max horizontal
Mod4 backslash :MaximizeHorizontal
# screenshot
None Print :Exec import -window root ~/screenshots/desktop-$(date +'%Y%m%d%H%M%S').png
Mod4 Print :Exec import -frame -window $(xprop _NET_ACTIVE_WINDOW -root | awk '{print $5}') ~/screenshots/window-(date +'%Y%m%d%H%M%S').png
# calendar
Mod4 c :Exec zenity --calendar --text=""
# toggle conky
Mod4 q :ToggleCmd {Exec conky} {Exec pkill conky}
# toggle xcompmgr
Mod4 z :ToggleCmd {Exec xcompmgr -c -C} {Exec pkill xcompmgr}
# open file manager
Mod4 e :Exec urx -e mc
# open root shell
Mod4 s :If {Some Matches (title=root shell) (workspace=[current])} {NextWindow (title=root shell)} {Exec urx -title 'root shell' -e su - -c 'screen -DR'}
# run iceweasel
Mod4 f :Exec iceweasel
# run chrome
Mod4 g :Exec chrome
Mod4 Shift g :Exec chrome --incognito
# run chrome
Mod4 h :Exec opera
Mod4 Shift h :Exec opera -newprivatetab 'about:blank'
# run xkill
Mod4 x :Exec xkill
Mod4 Shift x :KillWindow
# toggle key binding
Control Escape :KeyMode Xnest Control Escape
Xnest: Control Mod1 Mod4 Mouse3 :RootMenu
# run moc
Mod4 m :If {Some Matches (title=MOC .*) (workspace=[current])} {NextWindow (title=MOC .*)} {Exec urx -e mocp -m '/stor/musics'}
# run alsamixer
Mod4 Shift m :If {Some Matches (title=alsamixer) (workspace=[current])} {NextWindow (title=alsamixer)} {Exec urx -title alsamixer -e alsamixer}
# open screen
Mod4 n :If {Some Matches (title=screen) (workspace=[current])} {NextWindow (title=screen)} {Exec urx -title 'screen' -e screen -DR}
# open new screen
Mod4 Shift n :Exec urx -title 'screen' -e screen -x