Comments inline. (01)
Jonathan (02)
Philip Gust wrote:
> Since Jonathan is managing the keysets, I'd like to ask him to shoot
> a note to John Secrest and ask him to return the keyset for use by
> active projects. (Jonathan, if you could do that before you take off
> tomorrow, it might be available when you and Brian are back in town
> and able to work on them again). (03)
Done. (04)
> I'm planning on building a Java package to provide keyset input to
> applications and applets. We'll replace the current code in the Java
> VAT (JVAT) with this package. (05)
Phil, I've already got a KeysetListener interface (patterned after
java.awt.event.KeyListener) with the corresponding KeysetEvent class. It
provides a generic mechanism for interfacing with multiple
platform-specific (and keyset-specific) drivers. The idea is that, over
time, we can build as many specific drivers as is necessary to support
all the known variants of keysets on the major platforms (Linux, Mac,
Windows for now), and the Java Augterm program will be completely
decoupled from any of the details. (06)
Let's try to sync up on all of this so you can reuse what I've already
got in place, as you start to add additional drivers. (07)
Hmm, JVAT, I hadn't heard that term before. Howard Palmer (author of the
new Java version of the AugTerm), has used "Java AugTerm" I believe. We
can toss around different names and see what sticks I guess. (08)
> I'm assuming that this will entail a certain amount of native code on
> some platforms. For Linux, we can probably use the game port device
> that Jonathan is already using without native code. I'm not sure
> whether something similar is available on MacOS X.4, but I'll
> investigate this before writing native code. On Windows, we can go
> one of three ways:
>
> 1. Investigate whether some part of the Cygwin package provides what
> we need (a long shot)
> 2. Evaluate one of several existing windows-specific Java "game port"
> packages (possible)
> 3. Write new windows-specific code for the keyset (most likely) (09)
Yes, in Linux, the way I get around the need to write any native (C,
C++) code is to rely on reading a generic data stream from the
linux-specific /dev/js0 device file that represents the first analog
gameport on a PC. (010)
There might be a chance that MacOS X has a similar device file
representation, since it is based on BSD. (011)
I suspect that Windows does not use device files in a UNIX-like way, so
that probably means the only way to get access to a device is through
the usual Microsoft-specific APIs. If that is the case, it is almost
definite that Microsoft-specific native code will need to be written. (012)
> Whichever way, I plan on doing a decent device-side interface that
> will make it simple to plug in native code support. (013)
I don't have any abstraction of the native layer, since currently I've
only got Java code. That interface will definitely need to be defined.
As mentioned, the abstraction I've got is at the Java layer, so we're in
pretty good shape as far as Java is concerned. (014)
> I'm eager to get a keyset so that I can get an interface design out
> for review and investigate the platform-specific issues. I want to
> get the JVAT to a level where Doug can start using it as soon as possible. (015)
Agreed. Eugene, there are a few more things to flesh out with this
software before Doug would feel comfortable using it, but would be
useful to have Doug try new versions from time to time and give feedback. (016)
> Hopefully, what I produce will also be useful to keyset-enable a
> future Hyperscope client. (017)
The Java interfaces are very useful for any Java-based client that wants
to use a keyset. But it is likely that we will need native interfaces
and drivers in order for other languages (python, ruby, or c) to make
use of the keyset. (018)
Jonathan (019)
_________________________________________________________________
Message Archives: http://chm.cim3.net/forum/nls-technical/
Shared Files: http://chm.cim3.net/file/work/project/nls-restore/
Community Portal: http://www.computerhistory.org/
To Post: mailto:nls-technical@chm.cim3.net
Community Wiki: http://chm.cim3.net/cgi-bin/wiki.pl?NLS_Restoration (020)
|