BBKeys
BBKeys is a Blackbox for Windows hotkey plugin, ie. it lets you run commands based on certain keyboard combinations.
It reads the hotkeys from its own configuration file, bbkeys.rc (or bbkeysrc), located in the same folder as the plugin
or in the Blackbox directory (please note that the former location has precedence). It uses the following syntax:

KeyToGrab(key), WithModifier(modifier), WithAction(SeeBelowForList), DoThis("command.exe" arguments)

...where 'key' is one of the following...

A-Z, 0-9, Num0-Num9, F1-F12, Left (Arrow), Right (Arrow), Up (Arrow), Down (Arrow), PrtScn, Pause, Insert, Delete, Home, End, PageUp, PageDown, Tab, Backspace, Spacebar, Enter, Mul, Div, Add, Sub, Dec, Apps (Application key, the one next to Right Win Key), Escape

...and 'modifier' is any combination (separated by + signs) of:

Ctrl, Alt, Shift, Win

Please note that the last part, DoThis(...), is only used in conjunction with ExecCommand (see below).


WithAction()

Minimize
Raise
Lower
Close
Workspace1
Workspace2
Workspace3
Workspace4
Workspace5
Workspace6
Workspace7
Workspace8
Workspace9
Workspace10
Workspace11
Workspace12
MoveWindowLeft
MoveWindowRight
PrevWindow
NextWindow
PrevWindowAllWorkspaces
NextWindowAllWorkspaces
LeftWorkspace
RightWorkspace
PrevWorkspace
NextWorkspace
LastWorkspace
GatherWindows
ShadeWindow
StickWindow
MaximizeWindow
MaximizeVertical
MaximizeHorizontal
Restart
Reconfigure
Quit
EditStyle
EditMenu
EditPlugins
AboutStyle
ShowMenu
ShowWorkspaceMenu
ToggleTray
TogglePlugins
Shutdown
Reboot
Logoff
Hibernate
Suspend
LockWorkstation
Run

Example

KeyToGrab(N), WithModifier(Win), WithAction(Minimize)
KeyToGrab(PageUp), WithModifier(Win), WithAction(Raise)
KeyToGrab(PageDown), WithModifier(Win), WithAction(Lower)
KeyToGrab(Delete), WithModifier(Win), WithAction(Close)
KeyToGrab(Num1), WithModifier(Win), WithAction(Workspace1)
KeyToGrab(Num2), WithModifier(Win), WithAction(Workspace2)
KeyToGrab(Num3), WithModifier(Win), WithAction(Workspace3)
KeyToGrab(Num4), WithModifier(Win), WithAction(Workspace4)
KeyToGrab(Num5), WithModifier(Win), WithAction(Workspace5)
KeyToGrab(Num6), WithModifier(Win), WithAction(Workspace6)
KeyToGrab(Num7), WithModifier(Win), WithAction(Workspace7)
KeyToGrab(Num8), WithModifier(Win), WithAction(Workspace8)
KeyToGrab(Num9), WithModifier(Win), WithAction(Workspace9)
KeyToGrab(Num0), WithModifier(Win), WithAction(Workspace10)
KeyToGrab(Div), WithModifier(Win), WithAction(Workspace11)
KeyToGrab(Mul), WithModifier(Win), WithAction(Workspace12)
KeyToGrab(Down), WithModifier(Win), WithAction(MoveWindowLeft)
KeyToGrab(Up), WithModifier(Win), WithAction(MoveWindowRight)
KeyToGrab(Left), WithModifier(Ctrl+Win), WithAction(PrevWindow)
KeyToGrab(Right), WithModifier(Ctrl+Win), WithAction(NextWindow)
KeyToGrab(Up), WithModifier(Ctrl+Win), WithAction(PrevWindowAllWorkspaces)
KeyToGrab(Down), WithModifier(Ctrl+Win), WithAction(NextWindowAllWorkspaces)
KeyToGrab(Left), WithModifier(Win), WithAction(LeftWorkspace)
KeyToGrab(Right), WithModifier(Win), WithAction(RightWorkspace)
KeyToGrab(Left), WithModifier(Alt+Win), WithAction(PrevWorkspace)
KeyToGrab(Right), WithModifier(Alt+Win), WithAction(NextWorkspace)
KeyToGrab(Space), WithModifier(Alt+Win), WithAction(LastWorkspace)
KeyToGrab(G), WithModifier(Win), WithAction(GatherWindows)
KeyToGrab(End), WithModifier(Win), WithAction(ShadeWindow)
KeyToGrab(Insert), WithModifier(Win), WithAction(StickWindow)
KeyToGrab(X), WithModifier(Win), WithAction(MaximizeWindow)
KeyToGrab(V), WithModifier(Win), WithAction(MaximizeVertical)
KeyToGrab(H), WithModifier(Win), WithAction(MaximizeHorizontal)
KeyToGrab(R), WithModifier(Win), WithAction(Restart)
KeyToGrab(R), WithModifier(Ctrl+Win), WithAction(Reconfigure)
KeyToGrab(Q), WithModifier(Win), WithAction(Quit)
KeyToGrab(S), WithModifier(Win), WithAction(EditStyle)
KeyToGrab(M), WithModifier(Win), WithAction(EditMenu)
KeyToGrab(P), WithModifier(Win), WithAction(EditPlugins)
KeyToGrab(S), WithModifier(Ctrl+Win), WithAction(AboutStyle)
KeyToGrab(M), WithModifier(Ctrl+Win), WithAction(ShowMenu)
KeyToGrab(M), WithModifier(Alt+Win), WithAction(ShowWorkspaceMenu)
KeyToGrab(T), WithModifier(Win), WithAction(ToggleTray)
KeyToGrab(P), WithModifier(Ctrl+Win), WithAction(TogglePlugins)
KeyToGrab(F12), WithModifier(Win), WithAction(Shutdown)
KeyToGrab(F11), WithModifier(Win), WithAction(Reboot)
KeyToGrab(F10), WithModifier(Win), WithAction(Logoff)
KeyToGrab(F12), WithModifier(Ctrl+Win), WithAction(Hibernate)
KeyToGrab(F12), WithModifier(Alt+Win), WithAction(Suspend)
KeyToGrab(Spacebar), WithModifier(Win), WithAction(LockWorkstation)
KeyToGrab(Z), WithModifier(Win), WithAction(Run)

ExecCommand examples:
KeyToGrab(E), WithModifier(Win), WithAction(ExecCommand), DoThis(explorer.exe /e,c:\)
KeyToGrab(Home), WithModifier(Win), WithAction(ExecCommand), DoThis(http://desktopian.org/bb/)
KeyToGrab(Enter), WithModifier(Win), WithAction(ExecCommand), DoThis("c:\Path with spaces\MyApp.exe" arguments)
Using ExecCommand to send bro@ms (examples show how to control multiamp):
KeyToGrab(Left), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maPrev)
KeyToGrab(Enter), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maPlay)
KeyToGrab(Spacebar), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maPause)
KeyToGrab(Num0), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maStop)
KeyToGrab(Right), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maNext)
KeyToGrab(Add), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maOpenFile)
KeyToGrab(Mul), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maMenu)
KeyToGrab(Sub), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maPower)
KeyToGrab(Up), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maVolumeUp)
KeyToGrab(Down), WithModifier(Ctrl+Win), WithAction(ExecCommand), DoThis(@maVolumeDown)

Version 1.63 (2003-03-03)
  • ~ MakeSticky now uses the "MakeSticky" BB4Win function which should help with Windows (especially WinME) in general (Note: Requires BB 0.0.81 or above) ironhead
  • + LastWorkspace switches back to the previous workspace Jason King

  • Version 1.62 (2003-01-09)
  • + New WithAction commands: PrevWindow, NextWindow, PrevWindowAllWorkspaces, NextWindowAllWorkspaces
             as supported in *nix. Suggested by Dr_Jazz. Please note these actions require Blackbox for Windows 0.0.80 or later
             in order to work nc-17

  • Version 1.61 (2002-11-24)
  • + BBKeys now displays executed commands in the Blackbox toolbar qwilk
  • ~ Fixed StickWindow - it is now possible to *unstick* windows too! <g> qwilk

  • Version 1.6 (2002-09-07)
  • ~ Uses the updated API in Blackbox for Windows 0.0.60 qwilk
  • + Support for bro@ms in ExecCommand's qwilk
  • + New WithAction commands: AboutStyle, ToggleTray, TogglePlugins, MoveWindowLeft, MoveWindowRight,
             ShowWorkspaceMenu, Hibernate, Suspend qwilk

  • Version 1.5 (2002-06-18)
  • + Lots of new WithAction commands! :D (-> this version requires Blackbox for Windows 0.0.40 or later...) qwilk
  • ~ ExecCommand's will now open a document in the default viewer if no app is specified qwilk
  • + BBKeys now sets the working directory when executing commands qwilk
  • ~ The configuration file (bbkeys.rc) can now be the same directory as the .dll or in the Blackbox directory qwilk
  • + New HTML documentation qwilk
  • # BBKeys is now open source...

  • Version 1.4 (2002-01-19)
  • ~ Stupid mistake in the last build. I used strcat instead of strcpy, which caused paths to be read wrong... azathoth

  • Version 1.3 (2002-01-15)
  • ~ Updated to Blackbox for Windows 0.0.21 plugin standards azathoth
  • + Added a whole host of groovy Blackbox features! azathoth

  • Version 1.0.0.2 (2002-01-02)
  • ~ Fixed hotkey execution to be able to handle arguments azathoth

  • © 2001-2002 The Blackbox for Windows Development Team