07-05-02 USING.txt


Using GoVictor
---------------------------------------------------------------------------

GoVictor runs as an icon on your system tray (near the clock).  Right click
on the icon to access the main menu.  The menu is divided into three parts.
The menu options in the lower part are fairly self-explainatory.  The
current channel set (.ini channel/group configuration file) is shown at the
top of the menu.  A submenu allows you to select a different channelset
from the GoVictor/sets directory.  In the middle part of the menu are the 
channels and groups for the current channel set.  Groups have submenus with 
the channels they define.  Channels under a group are only active when that 
group is selected (check mark next to the group name).  Only one group can 
be active at a time.  Hint: the active group also appears in the tooltip 
attached to the GoVictor icon.  Channels listed in the main menu are 
"global" and are always active, regardless of the current group.



Commandline Options
---------------------------------------------------------------------------

Currently the only option is to specify the channel set to use at startup.  
This is somewhat unnecessary now since channel sets can be changed while
GoVictor is running and the last channel set used will be automatically
loaded at startup.  The current command line behavior will likely change
in a future release.   

Attempts to run more than one instance of GoVictor are ignored, as are 
any command line options for all but the first instance.



Configuration
---------------------------------------------------------------------------

Channels and groups are defined in the .ini files (called channel sets)
stored in the GoVictor/sets directory.  A channel set file is divided into 
sections.  Sections begin with a line containing the section name in square 
brackets.  In each section there are a number of lines of the form 
"option = value".  Lines beginning with '#' are ignored.  Whitespace is
also ignored, so to include spaces in a value you must enclose the value
in quotation marks.

The sections, their options and some commentary are listed below.  Also see
the sample sample.ini file included in the zip.



section label    : group
required options :
optional options : name, hotkey, host, port, password, state

	name = "group name" 
				sets the label that will appear in the menu

	hotkey = vk[:modifiers]
				sets the hotkey for this group.  see vkeys.txt for a list of 
				virtual key codes, or download the excellent free utility 
				"Delphi Key Values v1.2" by Finn Ekberg: 
				<http://http://www.danish-shareware.dk/delphi/english.html>
				modifiers is optional and can be any combination of the 
				letters 'C', 'A', 'S' and 'X'.  'C', 'A', and 'S' are for 
				control, alt, and shift, respectively.  'X' will cause
				GoVictor to "swallow" the hotkey so it is not passed on
				to any windows applications.  This can be useful for games
				with very few unmapped keys.  

	host = ip|hostname
				sets the default group host

	port = port_number
				sets the default group port (this feature may not work with
				RW Mk.1c and earlier)

	password = password
				sets the default group password

	state = modifiers
				sets the default group modifiers (see the 'hotkey' option)


 	
section label	 : global
required options :
optional options : host, port, password, state
notes			 : think of this as a group that is always available

		see "group" section options



section label    : channel
required options :
optional options : name, hotkey, host, port, channel, password
notes			 : options not defined will assume the group values
				 : channels defined after a 'group' section are part of
				   that group
				 : ports do not seem to work properly with RW Mk.1c --
			       if you don't specify them it should work ok.

	name = "channel name" 
				sets the label that will appear in the menus

	hotkey = vk[:modifiers]
				see the "hotkey" option description in the "group" section
				above.

	host = ip|hostname
				sets the host

	port = port_number
				sets the port (this feature may not work with RW Mk.1c and
				earlier)

	channel = channel
				sets the channel

	password = password
				sets the password



Advanced
---------------------------------------------------------------------------

Hotkey swallowing can be a very useful feature.  For games with extensive
keyboard command sets, it can be difficult to find a well-grouped set of
keys to use with GoVictor that don't interact with the game.  As long as
you choose keys with functions that you don't wish to access via the
keyboard, hotkey swallowing allows you to safely use game-mapped keys for
channel changing.  

The "suspend" hotkey feature introduced in GoVictor 0.7 (beta) permits even
more advanced sharing of keys.  By setting the "suspend_hotkey" and 
"suspend_time" options in govic.ini ([globals] section), you can cause 
GoVictor to ignore channel switching keys for a specified time interval (in
seconds with 0.1 second resolution) by pressing the suspend hotkey.  While 
suspended, game-mapped keys can be used at will.  As soon as the suspension
time expires, GoVictor will start monitoring hotkeys again.

As an example of these ideas, take Falcon4. CTRL-ESC is not used by the 
game, so it can be safely used as the suspend hotkey.  Say we wish to
map CTRL-1 through CTRL-0 to GoVictor channels.  Some of these keys have
functions in Falcon, but perhaps we don't need to use most of them.  Define 
the hotkeys with the 'X' modifier flag so that GoVictor doesn't pass the 
channel changing keypresses on to Falcon (where they would activate various
in-game functions).  Now suppose we do want to be able to access the Falcon
autopilot override function (CTRL-3) using our HOTAS (programmable joystick
and throttle).   If we program the HOTAS to emit [CTRL-ESC][CTRL-3] with a 
0.1 second suspend time, Falcon will receive the [CTRL-3] properly and no 
channel change will occur. Channel changing will be unavailable for 100 
milliseconds after activating the autopilot override function, but this 
delay should not be noticible.  Note that it's probably a good idea in 
general to set the 'X' modifier on your suspend hotkey so that only 
GoVictor will see this keystroke.