WheelK is a tiny DOS mouse-driver extension that will translate wheel-ticks into simulated
keypresses of the up and down arrows (grey keys), respectively.
Download (3.5 kilobyte) WheelK version 1 (demo) for DOS (MS-DOS or compatible).
Clicking on the above link will cause your browser to download a compressed (zipped) folder containing
the WheeK programme and a plain-text Read-me including description and instructions.
Please read the following lines and the Read-me carefully before starting to use WheelK !
Please check applicable terms and conditions for use, at the bottom of this page!
Notice: WheelK (demo) while working as advertised, at this stage is a prototype still being evolved and will be finalised, in part according to your users' reactions and reports. Come back to this page often to see if a new version is available !
How to proceed after downloading WheelK ?
First, extract WHEELK.COM from the downloaded zip file, place it in a directory
mentioned in your DOS 'PATH'.
File details, WHEELK.COM (demo) version 1 :
size 838 bytes; not a typo, not kilobytes nor megabytes :=)
date : 07-30-2016 time : 20:18:02
Exact date time shown may depend on the time-zone you're in and OS version you're using.
Now, in order to launch WheelK, at a DOS command prompt, type :
WHEELK /E ; E means Enable.
The semi-colon in the above command line introduces human-readable comments, and the slash is optional.
Additionally, E
being the default action, it can be omitted... so you could as well have launched WheelK by typing, simply :
WHEELK
Of course, WheelK could also be invoked from a batch file (including the AUTOEXEC.BAT
).
If your DOS configuration has access to "upper memory", Wheelk can also be loaded "high", if you wish.
Once loaded into the memory; WheelK stays resident until you unload it, from the command line, thus :
WHEELK U ; Unload, remove WheelK from the memory.
Rather than unloading WheelK, you will more often want to disable it, leaving it in memory (it uses less than 100 bytes anyway).
Disable WheelK thus, at the DOS command line :
WHEELK D ; Disable, stop processing wheel events.
... For instance, before running a (rare) DOS program which natively recognizes the mouse wheel and manages it by itself.
Whether it's been disabled by you intentionally, or by a programme which 'captured' the mouse, or by running MOUSKEYS from the command line, whenever you want to enable WheelK again - so it processes wheel events - simply type the following command line :
WHEELK E ; Enable, cause WheelK to resume processing the Wheel.
Once loaded and enabled, WheelK intercepts all mouse events. It processes wheel ticks, translating them into simulated down/up arrow grey key presses (by stuffing the BIOS keyboard buffer). All non-wheel events (button presses, mouse movements) are passed to be processed by the "mouse user procedure" that was in effect BEFORE you started WheelK, IF ANY. Otherwise, such non-wheel actions will be ignored (have no effect).
Now you must be eager to verify it's working for you : with WheelK loaded and enabled, run some DOS program which by itself does not use the mouse, and in which the arrow keys are functional, for instance : Buerg's List, and watch it respond to the wheel of your rodent !
At the DOS command line, assuming you're using the plain MS-DOS command line, you won't see any effect of WheelK because MS-DOS "Command.com" does not understand up and down arrows. However if you launch Microsoft's own DOSKEYS or another command line recaller, or if you're using the (now free) 4DOS command.com replacement for your DOS "shell", you will be able to scroll the command history by rotating the mouse wheel to and fro !
WheelK has been designed in such a way it can be used either standalone, in which case all it does is translate wheel rotations into up and down arrow; or it can be used as a complement to other software that processes mouse events but ignores the mouse wheel, in particular with the free programme : MOUSKEYS written by (external link) Bret Johnson
In the latter case, Bret's MOUSKEYS must load first, then load WHEELK. Note that while WHEELK will always pass non-wheel "messages" from the mouse to MOUSKEYS, the latter is not aware of WHEELK and will in effect disable it by recapturing the "mouse user procedure" each time it is invoked at the command line, albeit just for changing a parameter. In such circumstances all you have to do is to reenable WHEELK after playing with WHEELK's options.
In summary, you should respect the loading order which is :
1. A DOS mouse driver. Note, in order to use a wheel in DOS, you MUST use the (free) CTMouse driver,
or a driver compatible with CTMouse's wheel API.
CTMouse can be freely downloaded from the internet and is part of (or bundled with) FreeDOS
DOS mouse drivers from Microsoft, Logitech, and others will NOT make your wheel work, and WheelK cannot help.
2. (Optional) MOUSKEYS if you want to translate (non-wheel) mouse events into keys.
3. Finally : WHEELK.
Unloading any of these drivers - if you must unload them - must be done in the reverse order than loading ! In particular you MUST NOT unload Ctmouse and/or Mouskeys "behind WHEELK's back". If you MUST unload Mouskeys (why ?), unload WHEELK first !
Disabling/reenabling does not incur such problemn so that's what you'll want to do most of the time...
Technical note : WheelK works by stuffing the keyboard buffer (similar to MousKeys /S method) - programmes that rely on hardware interrupts from the keyboard won't see the simulated keypresses. Such programmes are rare anyway.
The following terms apply : The software is provided as-is, and can be used by anyone at no cost. Assembly-language source code is not bundled, but can be obtained from the author by resquest (email only). Copyright and other rights remain with the author.
Notice! Albeit labelled a "demo" because of its small size and strictly limited design avoiding "feature creepitis", yet this is quality software, and contains no intentional errors or so-called bugs. However like all software, free or otherwise,
should you choose to use it you do so at your own risks.