Download Latest Version k_tty.2.1.8.tgz (256.1 kB)
Email in envelope

Get an email when there's a new version of K_TTY keystroke interpreter for Linux

Home / README / 2.1.6
Name Modified Size InfoDownloads / Week
Parent folder
README 2003-08-17 4.6 kB
Totals: 1 Item   4.6 kB 0
K_TTY is now in (early) beta-testing.

Licence and copyright : See the end of this file.

K_TTY provides keyman(TM) style keyboard interpretation for Linux
console and attached (or pseudo) terminals (including X terminals, telnet
sessions, or anything else which has a tty associated with it).

Unlike 'compose' letters, the user sees what they type, and if a
substitution is required the driver sends one or more <delete>(s) 
followed by the correct code(s). Further, the input may be more than just 2
letters, and the output may be more than a single character. Significant
re-ordering and re-interpreting of the input characters are possible. 

 KEYMAN(TM) is the Tavultesoft (http://www.tavultesoft.com/) keyboard manager
 It is a key-sequence interpreter for MS windows, and makes it nice and
 simple for people to type in weird and wonderful languages, which need
 more keys than are on the keyboard, or such things as phonetic
 characters where the situation is even worse.

K_TTY and its associated support programs have been written from scratch,
based upon the author's understanding of (a non-current version of) 
KEYMAN input files. It thus understands a language closely related to but
not identical to KEYMAN's. Some features of keyman are not currently supported,
some will probably never be (such as fiddling about with the keyboard
shift-state), as they are only valid on the system console, and are better
handled by the basic keyboard driver.  Also, since K_TTY is intended to
work remotely, it seems silly to go to too much effort on things that
won't.

K_TTY WILL NOT work for programs that have no tty associated with them,
such as many "native" X window apps, at least until someone integrates a
version of it into X-windows.

K_TTY SHOULD work with unicode (UTF-8)-enabled keyboards, and the 
compiler now has the ability to set the relevant flags.  A simple test
keyboard has been written and seems to work correctly.

KEYMAN(TM) keyboard definition files are human-readable, in general the
"business" part follows the pattern:

match + key > result

Where the terms "match" "result" and "key" may be formatted in a number of
different ways. Ordering in the definition is relatively free, but
interpreting should be on a "longest possible match wins" basis. Thus the
definition files are not ideal for code that must be read
once-per-keystroke.  The kernel interface of K_TTY thus works on a
compiled byte-code, which is loaded by the compiler (or other program) via
an ioctl interface.

For testing purposes the keyboard is compiled or loaded into a test
(non-kernel) version of the interpreter. This lets bugs in the keyboard
design (or interpreter, this is still early beta, remember) be found with
considerably less hassle.

K_TTY is mainly intended as a kernel module, but it might work as
compiled-in version with a little more tweaking. A much earlier 
version did, but that was back in ancient history. 

K_TTY has been written and tested on an Intel Pentium and Cyrix M II 
with miscellaneous Linux kernels, from 2.0 onwards but currently 2.4.18. 

The author currently uses GCC version egcs-2.91.66, and a heavily upgraded
RedHat6.0 distribution.
Some testing has been done by on various newer Linux distributions. 
I don't see why it shouldn't work on other processors, but "endianness"
and sizeof(int/short/etc) type questions would suggest that you don't try
copying the "bytecode" compiled keyboards around.

Main other documentation files:
History		Notes mainly for my own reference about what happened when
		and what needs doing next
INSTALL		Installation and testing instructions
DIFFERENCES	Differences I know of between how keyman and K_TTY work.
Wishlist	Working list things that would be nice.
BUGS		Known problems and work-arounds if any
COPYING		Licence and (lack of) Warranty statement 
ChangeLog	Changes that have been made and when.
Credits		Who did what
FAQ		Questions that you might want to ask, so you don't need to.
ReleaseNotes	The headlines
Magic		extra lines for /etc/magic, so that file(1) recognises .ktty files

K_TTY and all source code distributed with it are (C) Copyright D.J.Gardner
except those parts (as mentioned in the source code) which are 
copied from the Linux kernel sources. The original lines of code in those
files are (C) Copyright Linus Torvalds and the original authors, the new
lines are (C) Copyright D.J.Gardner. 

You are licensed to use and distribute this code under terms of 
the GPL Version 2.  See the included file COPYING for details.

This file has cvsid $Id: README,v 1.10 2003/08/12 19:52:03 djgardner Exp $
Source: README, updated 2003-08-17