developer notes
current revision:
keyclone v1.9i 24jul2009a

note:
  currently, i am focusing on removing all bugs.  if you have a bug, 
  please send me an email at keyclone -at- solidice.com

updates since last major release:

o bug: wizard startup crash located and fixed

v1.9h
--
o add: region based keymaps (auto-added under the wizard)
o add: setup wizard
o bug: while running with octopus for kvm, clicking on secondary system's window will pip swap if hotkey unset.  setting pip hotkey will stop the bug
o bug: mouse-click-passing now clicking on windows properly
o add: preset maximizer layout selector
o add: region combobox selector in setup/command-editor
o add: updated the number of maximum regions from 16 to 32 (is more really needed??)
o bug: will not add windows with blank titles

v1.9g
--
o bug: ghost cursors not always appearing; lag upon first showing up
o bug: override not working properly
o bug: focus-follows-mouse even if the check box is off
o bug: always-on-top on working

v1.9f
--
o bug: keyclone would crash when the last remote keyclone would exit
o bug: crash on command start without region specified

v1.9e
--
o bug: allow pip swap keys to pass normally
o add: bring-to-front hotkey for clones
o bug: Xbutton2 not triggering in mousemap
o add: keymaps are now cached for region-keymap performance 
o add: keymaps will auto-reload after setup if any keymaps edited
o add: region-based keymaps
o bug: 'get license' not popping up a browswer; no default html browser found; launch IE if no default found (use firefix... it's better)
o bug: did not set name when manually maximizing a window
o add: 'receive only'; set in command for each wow instance
o add: insure wow is not starting in full screen mode when modifying the config.wtf file
o bug: hang on exit if X used on main interface (finally) fixed
o bug: right-click/maximize... options missing; fixed
o bug: could not launch commands after transfer complete
o add: user driven license transfers (no more waiting around!)
o bug: crash on message-of-the-day close after timer expires
o add: reset roundrobin after rr-override turned off
o add: check box to make mouse-click-passing a single click event; auto toggles off after click
o bug: fix urls associated with tool tray menu
o add: wow /focus based macro setup url to FAQ tooltray menu
o add: warning on invalid command
o add: improved pip swap and focus-follows-mouse speed
o bug: settings sometimes not saving on exit from setup; forced flush to disk
o bug: unable to select maximizer region due to layering fixed
o add: added keymap override to overlay reminder window 
o add: make region names case insensitive
o add: make commands case insensitive
o add: override hotkey to suspend keymaps
o add: support for 8 processors in the command editor panel
o add: moved to vstudio 2008, requiring different DLLs and acceptance of manifests (grumble gripe grumble)
o add: region count on maximizer panel
o add: allow regions to be exactly the same size
o add: multi-cpu affinity selection (check boxes)
o bug: maximizer import losing key modifier


v1.8k
--
o bug: maximizer file not storing always-on-top
o bug: region loses always-on-top when pip swapped
o add: set initial file open/save directory to keyclone directory
o add: ability to reset keyclone's position via the tool tray icon
o bug: starting position of keyclone needs to be restrained and moved within the visible area if it goes outside
o bug: mouse-click-passing on game window does not always work (NOTE: do not move mouse while click-passing)
o bug: focus-follows-mouse bug forcing mouse to stay outside of original window
o add: force wow to realize it has lost focus, insuring the frame rate drops to maxfpsbk
o bug: setup panels not initially hidden (apparent under linux-wine)
o add: audio alert upon dropping connection or window
o add: mouse-click-passing indicator (audio only)
o add: mouse-click-passing between all client windows
o add: mouse-click-passing toggle hotkey
o add: maximizer import/export now supports region resolution
o bug: disconnect bug between keyclones
o bug: enabling override without focus-follows-mouse would take focus off game window
o add: overlay window now shows dnp and rr if the do-not-pass or round-robin list is overridden
o bug: window not adding from command if maximizer not enabled
o bug: crash bug on startup if ini file corrupted; added default and save
o add: remember screen starting position (thx diamndzngunz for the idea!)

v1.8j
--
o add: always-on-top for region to allow for overlapping pip regions
o bug: caught a crash bug upon quick pip swap
o add: modifier + mouse wheel now working
o add: option to allow/disallow multiple copies of keyclone to run on a single box
o bug: override hotkeys can now be the same
o bug: line stats not working

v1.8i
--
o bug: [X] on setup does not close the dialog (cancel)
o add: carbonite compatibility
o add: wow resolution per region
o bug: mouse-map not working without focus-follows-mouse
o bug: mouse-map not always triggering

v1.8h
--
o change: will no longer push_focus if key down and mouse over another window
o add: added 'strict' to do-not-pass (checked == only exact keys will not be passed) - leave UNCHECKED to remove runaways
o bug: possible network drop between machines 
o bug: auto-add adding blank line for explorer.. now blocking any blank titles
o bug: alt hotkey for pip swap
o add: ability to export/import maximizer layout (maximizer profiles)
o add: added misc panel to the setup... now allows for clearing of command history
o bug: pip performance - swap big window to small window to avoid performance issue
o bug: fixed 'focus-follows-mouse' weirdness when click-drag on 2nd screen window (keeping you out of a window)
o add: mouse wheel up/down for mouse map
o add: modified maximizer to enable resolution selection
o bug: commands will now start in the directories of the target application

v1.8g
--
o add: snap-to-grid remembered (there ya go, itmonkey)
o bug: mouse-map'd x1 and x2 now working
o bug: white-list not passing shift+ or ctrl+ 
o bug: changed available options when not active (to reduce confusion)
o add: about panel (easier to find)
o bug: cleaner termination 
o bug: mouse jumping around and changing focus if focus-follows-mouse enabled 
o add: clone menu option to 'maximize/un-maximize' a window 
o bug: maximizer layout no longer scrambles after hitting apply/ok 
o bug: maximizer layout editor better

v1.8f
--
o add: added lockInForeground capability to commands, useful for some games (UNTESTED)
o bug: increase size of 'grabber' corners within the maximizer layout editor
o bug: maximizer layout editor now works properly with horizontal span
o add: updated and expanded the FAQ sub menu
o add: hotkey-suspend; clone-specific override.. good for when one dies and you don't want it sending or receiving keys
o bug: improved transition times on mouse overs (thanks Freddie)
o add: Better Operational Organization Based on Selection with Justified Original Bearings (BOOBS JOB)
o add: pip-swap mash protection
o add: second hotkey general override
o add: performance enhancement
o add: keymap for auto-add'ed clients
o add: always-on-top flag for commands
o bug: PiP should not be allowed during override
o bug: maximizer layout editor should allow region name change without tabbing (save on lose focus)
o add: clear option for dnp and rr
o bug: improve cpu usage of override overlay
o add: Better Operational Organization Based on Selection 
o add: 'return' on maximizer position, dimensions, and name now has effect
o bug: force keyboard focus to follow mouse
o bug: force keyboard focus to not swap with PiP
o bug: click-drag on slave window would jump mouse to main window
o bug: maximizer off-by-one error when full screen
o bug: PiP growing regions after flip
o bug: PiP keeping focus on old window
o added: tooltray FAQ submenus
o bug: fixed off-by-one error with maximizer regions (caused decreased fps in full screen)
o functionality: commands without a region will not be maximized
o PiP
o added: send only per keyclone
o global reset/suspend for blacklist/whitelist, round-robin
o round robin / do-not-pass list suspend toggle
o global pause (works across all connected keyclones)
o bug: improved error messages during network authentication
o bug: always-on-top fixed for startup
o adjustment: modified networking code to improve packet passing
o change motd to use html viewer
o bug: motd now works with a proxy
o added always-on-top
o bug fix: regions unmoveable in maximizer panel after 'apply'
o bug fix: override key 'flickered' timing too sensitive
o added 'run command at startup'
o added bring-to-front hotkey for keyclone
o added multi-monitor support to maximizer
o added authenticated proxy support (NTLM)
o bug fix: maximizer's snap-to-grid working
o bug fix: empty region name in command editor now showing properly
o bug fix: main list not aligning properly
o forced command-launched wow windows into windowed-mode
o command names now appear in keyclone list when executed
o extensively modified region editor - you may have to redo your layout
o added region names and support for region names within a command
o added "focus follows mouse"
o added support for mouse buttons 4 and 5 (XBUTTON1 and XBUTTON2)
o changed default reminder time to 20 seconds
o bug fix: starting directory bug related to 'losing' settings
o changed file name to read-only in keymap editor (avoids confusion)
o added 'exclude from round robin' to command
o bug fix: cpu affinity will now stay
o changed round robin activation noise to use sound event
o cleaned up ini file layout
o added cpu affinity to commands
o wow specific: login usernames can now be specified in commands
o wow specific: maxfps and maxfpsbk configurable in commands
o bug fix: overlay reminder no longer kills cpu
o bug fix: multi-machine commands working
o bug fix: missing extension when saving in keymap editor 
o bug fix: missing description in keymap editor
o improvement: jerkiness upon startup 
o maximizer: will now auto-adjust game resolution (wow specific.. thanks Bollwerk)
o setup: new language panel for choosing your language settings
o setup: enabled 'exact name match' by default
o added overlay panel w/ audio reminder
o added sound event panel
o added override graphic overlay reminder
o bug fix: keyclone name passing fixed (berzerkness - thx skarlot for reporting)
o bug fix: key passing with shadowbane fixed
o bug fix: configuration file not saving properly
o added command history
o added auto-connect (setup / general)
o added color to differentiate keyclone application groups
o added keyclone name, which is now displayed upon connecting (setup / general)
o added remote command execution (:)
o clone names will now appear properly on remote keyclones
o added keymaps to commands (setup / keymap editor)
o improved proxy support (now uses port)
o launch remote applications from main keyclone (implemented 'Run...')
o added support for multiple commands from a single command (separated by semicolons)
o added maximizer capability
o added user-defined commands (type cmd into the connect area and hit connect)
o improved modifier keys with keymaps and hotstrings
o some underpinnings for multi-language support (not completed)
o how to delete list entries label (setup tabs)
o mouse-mapping w/out mouse-click-passing
o change window title after changing clone title
o fixed mouse-mapping dialog to allow right click
o setup pictorial / discussion 
o mouse clicks mapped to key 
o mouse click passing (limited support)
o key delivery updates
o added round robin exclusion
o updated system ids
o fixed extended keys (alt/shift/ctrl)
o extensive modification to key passing mechanism, including extended keys
o round robin
o hotstrings working better; now down and up instead of just up
o fixed a couple of setup box crashes (when removing items, with none selected)
o disabled mouse passing
o removed command panel (for now)
o added 'last connected' to connection edit (will populate with last address)
o adjusted do-not-pass list to work with new key mechanism
o white list
o minimize button
o dbl-click tray icon now brings to front
o default application priority (above normal)
o key throttling
o message of the day

outstanding issues or upcoming features:
o multi-language support
o add 'profiles' for multiple keyclone setups
o change validation to work from a sub-thread
o cursor change when 'add'ing clones
o keymaps clone support for extended keys
o round robin support for keymaps
o clone-specific override; good for when one dies and you don't want it accepting commands

note: receive-only can be achieved by checking white-list and leaving list blank


if anyone wants to add to this list, send me an email
(keyclone -at- solidice -dot- com)
or find me on the forums over at dual-boxing.com