JoyEmu |
|
JOYEMU and JOYEM
are keyboard emulators for joystick and mouse: they are
two TSR programs that let you use your input devices with
software that accepts only keyboard input, or with those
programs that have weak support for other kind of input.
They're shipped with JoyCP, a full featured and easy to
use external interface. |
Joystick/keyboard utility; freeware,
subject to the following special license:
- This product comes with no warranty. It is freeware, but
use it at your own risk; the author takes no
responsibilities of any sort related to the use of this
product.
- Everyone that receives a FULL copy of the package can
freely install, duplicate and distribute the package, as
long as:
- FULL, unmodified package is duplicated;
- no additional fee is requested, apart from the cost
of the media necessary for the copy;
- the package is not distributed with other software or
hardware.
- Any WEB/FTP site can freely distribute the package as
long as FULL, unmodified package is downloadable in a
single, compressed file (any archiver will do).
- The user acquire the right of using the package, but he
can not alter, disassemble or sell the software and the
documentation that comes with it.
- Simone Zanella retains intellectual property and
copyright over the whole package.
- Written permission is required from Simone Zanella if you
want to:
- sell this package;
- distribute the package together with other software;
- include the package in a compilation of software;
- bundle the package with any hardware device
(especially joysticks, joypads and hardware
interfaces).
The concept of 'written permission' applies also to
digitally signed text, i.e. a plain text file that I'll send
through e-mail, signed with my private PGP key.
Simone Zanella reserves the right to charge money for
releasing said permission.
- Inclusion of the package in shareware/freeware
collections follows this special policy: a written
permission will be granted as soon as a full and detailed
list of the programs that will be distributed with the
package is received by Simone Zanella; the author of the
collection is bound to send a copy of the collection for
which permission was granted to Simone Zanella at the
address specified in the permission as soon as the
collection becomes commercially available. Simone Zanella
reserves the right to deny or revoke said permission at
his will.
- Any other form of distribution must be previously agreed
upon with Simone Zanella and requires a special, written
license, which can be subject to payment.
Remember:
- You may distribute the package only in
its integrity.
- Under no circumstances you can charge money for the
product, unless a reasonable amount to cover copying and
handling (mass distribution is not
covered by this point).
- The package cannot be distributed with other
software/hardware unless a written permission for the
distribution has been previously obtained from Simone
Zanella.
4.1 / english
Fixes in version 4.1:
JoyCP
- changed joystick detection to avoid bios bugs
- ifdef-ed the code used to wait on the joystick port until
ready (it caused problems on a few configurations).
JoyEm / JoyEmu
- ifdef-ed the code used to wait on the joystick port until
ready (it caused problems on a few configurations).
- now emulation is de-activated (if active) before loading
configuration files and re-activated immediately
afterwards, both when using command line parameters
'J'/'K' and hot key Shift-F8
- added to the package the program JCMPTST which can be
used to determine if your system is compatible with
JoyEmu.
Fixes in version 4.0:
JoyCP
- added support for Windows 9x/ME long file names;
- added support for mouse keyboard emulation;
- added support for 8-button joysticks;
- changed definitions for 'num /' and 'num enter' (were
incorrect);
- exchanged buttons 5 and 6 in calibration;
- added hot key support switch;
- added detection and report of type and version of
emulator in memory;
- changed window handler (glitches when windows near end of
screen);
- added switch buttons and configuration of additional
keys;
- changed load and save setting dialog;
- changed set directory dialog.
JoyEm / JoyEmu
- faster!
- added support for mouse keyboard emulation; this feature
was suggested by "KMoon" (kmoon@geocities.com)
and others;
- added support for switch fire buttons (change keys
stuffed by every other button/direction);
- added support for 8-button joysticks; this feature was
suggested by "Mr.M" (dlugosz@polbox.com)
and others;
- added FIFO key queue;
- added command line parameters N (set number of switch
buttons) and W (set switch button number);
- changed hot key shift-F4: it now switches on/off autofire
for mouse (Ctrl-F7 has become the hot key for switch
force break mode on/off);
- added hot keys Shift/Ctrl-F11 and Shift/Ctrl-F12
(tolerance for mouse axis);
- fixed a bug: autofire on button 5 would not work if force
break mode was off and button 6 did not use autofire;
- fixed shift mode (now the break for the shift keys is
sent on button release);
- added command line parameter 'Y' to turn on/off hot key
support (JoyEmu only); removed additional keyboard
handler (JoyEm only);
- changed values for b in E and R command line parameters;
- extended values for j in E, to set also switched keys;
- added joystick check on start/re-activation;
- added a page to on-line help (both JoyEm and JoyEmu).
Fixes in version 3.3:
JoyCP
- fixed a stupid bug that locked the computer in a strict
loop with interrupts disabled if just one joystick was
connected to the PC.
JoyEm / JoyEmu
- "unrolled" functions and definitions in JoyEm
and JoyEmu: should be faster (even though they take up a
little more memory now..).
Fixes in version 3.2:
JoyCP / JoyEm / JoyEmu
- added support for joysticks with 6 fire buttons; this
feature was suggested by "Mr.M" (dlugosz@polbox.com)
and others.
Fixes in version 3.1:
JoyCP
- changed definitions for right ctrl and alt gr (were
incorrect);
- introduceded the possibility of setting to
"none" the key stuffed by a certain
direction/button (e.g. for games which don't require fire
buttons); this feature was suggested by Patrick Belleau (pbelleau@vsf-p1.fabrik.com);
- added auto update mode: in this mode, when you change an
option the resident emulator is updated immediately;
- added "swap key bindings" to key settings menu,
to exchange emulated keys between the two joysticks;
- added "swap fire buttons" to exchange key
bindings between the first two fire buttons of current
joystick;
- added "8 way mode": in this mode, you can
specify keys to be stuffed for diagonals as well as for
straight directions.
JoyEm / JoyEmu
- added support for undefined keys (keys set to 'none');
- added "8 way mode" (stuff different keys for
diagonals);
- added command line parameter 'X', to switch "8 way
mode" on or off for each joystick;
- modified 'E' parameter to accept setting of diagonal
keys;
- added second help page (only for JoyEmu);
- modified '?' parameter syntax to accept help page number
(only for JoyEmu).
JoyEmu and JoyEm are two TSR
programs that, when installed, poll joystick port and
mouse and stuff keyboard buffer simulating keypresses
according to device movements; keys to be stuffed, autofire
rates, joystick sensibility and read mode, mouse sensibility are
only a few of the many settings that can be
changed. The emulators can also be removed when
no more necessary.
For easier configuration, an external
program is provided: JoyCP. This Control Panel
(that's what 'CP' stands for) allows to set parameters for
emulation and save them to files for later use; it can also load
previously saved configurations and update resident emulators
with new settings; the intuitive interface can be operated with
both mouse and keyboard.
- Dos 5.0+ or Windows 9x/ME; probably Windows 3.1 is also
supported (but untested);
- analogue or digital joystick/joypad, mouse;
- Pentium class computer (reccomended 100+ Mhz).
JOYEMU and
JOYEM are essentially the same program, but JOYEM lacks hot keys
support. Hot keys let you change on the fly many parameters of
the emulation, but are not strictly necessary -- both JOYEMU and
JOYEM accept command line parameters to update the status of the
resident emulator; moreover, JOYCP can be used to change all the
settings of TSR emulator.
JOYEMU and
JOYEM can be easily uninstalled and reinstalled as needed.
To configure
the emulators for you system, JOYCP is provided; it can be used
to:
calibrate your joystick(s)
and define common emulation parameters such as the number
of fire buttons, joystick sensibility and interface read
mode;
set mouse tolerance for
both axis;
define emulated keys (i.e.
keys associated with joystick directions and fire
buttons), autofire and repeat delay for each fire button
and various other settings that depend on the application
to run in foreground (hold mode, force break mode, shift
mode, 8 way mode, sampling delay, switch keys);
swap emulated keys between
the two joysticks;
create separate
configuration files and load them as needed;
update resident emulator
with new settings.
Special care
has been taken to ensure great compatibility and robustness; both
emulators could be cut down in size and made faster if I removed
all the checks and workarounds that I left to make them work on
as many hardware configurations as possible. Neverthless, it is
possible that these programs don't work on your system -- I'm
sorry if they don't, but I really don't know what else I could
change to make them more compatible. If you have troubles, read
the TROUBLE SHOOTING section and, if you don't solve the problem,
try messing around with BIOS settings for the keyboard (but ONLY
if you know what you are doing!!).
JJOYEMU was
inspired from an original utility with the same name written by
Pin Fei Sun (version 1.01); this program, however, is completely
different and was rewritten from scratch; no part of the actual
code resembles the source written by Pin Fei.
This is not
to say the original code wasn't noteworthy: it really helped me
in developing this package and was the spring that made me start
this project -- this is the reason why I kept the original names
for the emulator and utilities. I wish to thank once more Pin Fei
for sharing his efforts with the Internet community -- without
him, you wouldn't be reading this notes.
JOYCP was
written from scratch by me (Simone Zanella), to create a modern
interface both easy to use and pleasant to see.
JOYEMU takes
up about 27K of memory while resident; JOYEM about 26K.
Most
important features in version 4.1 include:
- Up to two digital and/or analogue
joysticks are supported (2 buttons)
- Support for joysticks with four buttons
- Support for a single joystick with six
or eight buttons
- Up to two switch buttons, which change
the keys stuffed by all other buttons and directions;
with an 8-button joypad, you can now stuff 56
different keys (40 different keys with a 4-button joypad,
24 keys not counting diagonals)!
- Support for mouse input: 4 direction
movements, 3 fire buttons, autofire individually set for
each button; the mouse can be used alone or together with
one or two joysticks
- Capability of emulating all normal and extended keystrokes
(arrow keys, Ctrl, Alt, Shift ..)
- Emulation of shifted keys, i.e. keys
combined with Ctrl, Alt, Shift (both left and right)
- Two joystick reading modes (full or
timed), to match your hardware
- Autofire and repeat delay individually
set for each fire button
- Hold mode setting, for games that
require to hold directional keys instead of pressing and
releasing them
- Shift mode setting, to enter single
keystrokes or allow shifted keys
- Selective key stuffing: you can set to
"none" the key stuffed by a certain
direction/button (e.g. for games which don't require fire
buttons)
- 8 way mode to have different keys
stuffed when joystick is moved in diagonal (instead of
stuffing keys for the two directions)
- Two separate configuration files: one
keeps joystick calibration, number of buttons,
sensibility and read mode (usually set once and for all);
the other keeps key settings, sampling interval, force
release mode, hold mode, shift mode, diagonal mode,
switch keys, mouse tolerance for both axis and autofire
settings, which are subject to change depending on the
application to run
- Configuration files (JOYSET.JS and KEYSET.KS) are
searched first in current directory and, if not found, in
the directory of the emulator
- While JoyEmu is running, through hot
keys you can:
- increase/decrease joystick sensibility
- increase/decrease joystick sampling interval
- increase/decrease tolerance for each mouse
axis
- switch 'force release mode' on/off
- switch autofire on/off for each joystick
- switch hold mode on/off
- turn the emulation on and off
- reload key settings from file in current
directory
- uninstall the emulator, if no other TSR was
loaded on its top
- Support of command line parameters to:
- print parameters list (both hot keys and
command line parameters)
- detect resident emulator (for batch
processing)
- uninstall TSR
- set emulation on/off
- reload key settings (from a file in current
directory or from a specified file)
- reload joystick settings (from a file in
current directory or from a specified file)
- set key associated with a direction/fire
button (normal or switched)
- set hold mode for directional keys
- set joystick sensibility to a specified value
- set 'force release mode' on or off
- set 'shift mode' on or off
- set '8 way mode' on or off for each joystick
- set autofire on/off and repeat delay for each
button of every joystick
- set sampling interval to a specified value
- turn hot key support on or off
- set number of switch keys
- set button corresponding to a switch
- set tolerance for each mouse axis
- turn on/off mouse keyboard emulation
- Command line parameters can be used to install
emulator with specified settings or update
resident emulator (same syntax)
- JoyEm, a version of JOYEMU without hot
keys, is also provided, to better compatibility and speed
up keyboard response
- Errors and confirmations signaled through different
sounds from internal speaker
- JOYEMU/JOYEM can be easily uninstalled,
freeing up its memory
- Greatly improved compatibility and robustness
- Works under Dos (real mode) and Windows 9x/ME; Windows 3.1 is untested
- JoyCP, a control panel for both
emulators, let you change all the
parameters for resident emulator, create and manage
configuration files, uninstall the emulator, all through
an intuitive interface with repositionable windows that
allows the use of both mouse and keyboard
Download
JoyEmu 4.1