kbdpipe(1)


kbdpipe -- use the kbd module in a pipeline

Synopsis

kbdpipe -t table [-f tablefile] [-F] [-o outfile] [infile . . . ]

Description

The kbdpipe command allows the use of kbd tables as pipeline elements between user programs. (See kbdcomp(1M) and kbd(7) for descriptions of the module and its capabilities.) kbdpipe is useful in code set conversion applications. If an output file is specified, then all infiles are piped to that output file. With no arguments other than -t, standard input is converted and sent to standard output.

The required option argument -t identifies the table to be used for conversion. If the table has already been loaded as a shared table (see kbdload(1M)) it is attached. If, however, the table has not been loaded, an attempt is made to load it. If the specified table name is not an absolute pathname then the name of the system mapping library is prepended to the argument, and an attempt is made to load the table from the resulting pathname (that is, it becomes an argument to the loader, kbdload). Assuming the table can be loaded, it is attached.

The argument to -f defines the file from which the table will be loaded, overriding the default action described above. The file is loaded (in its entirety), and the named table attached. This option should be used if the default action would fail.

The output file specified by -o must not already exist (a safety feature). The option -F may be used to override the check for existence of the output file; in this case, any existing outfile will be truncated before being written.

Examples

The following example converts two input files into relative nonsense by mapping ASCII into Dvorak keyboard equivalents using the Dvorak table. The table is assumed to reside in the file /usr/lib/kbd/Dvorak. The existing output file is overwritten:

kbdpipe -F -t Dvorak -o iapxai.vj file1 file2

The following example loads the Dvorak table from a different file, then converts standard input to standard output. The Dvorak table (assumed to be non-resident) is explicitly loaded from an absolute path beginning at the user's home directory:

kbdpipe -t Dvorak -f $HOME/tables/Dvorak.tab

Files

/usr/lib/kbd directory containing system standard table files.

References

kbd(7), kbdload(1M), kbdset(1)

Notices

Because kbdpipe uses kbdload(1M) to load tables, it cannot resolve link references. Therefore, if a composite table is used, the relevant portions must either be already loaded and public, or be contained in the file used (via the -f option) on the command line. In the latter case, the composite elements must be loaded earlier than the link entry.

Users may use kbd tables in programs at user level by opening a pipe, pushing the module, and setting via related commands. Therefore, there is no need to use the kbdpipe command. kbdpipe may not be supported in future releases.


© 2004 The SCO Group, Inc. All rights reserved.
UnixWare 7 Release 7.1.4 - 25 April 2004