ZS(4)

NAME
zs, zstty, zskbd, zsms - Zilog 8530 (ZSCC) serial communications driver

SYNOPSIS
zs* at fhc?
zs* at sbus?
zstty* at zs?
zskbd* at zs?
wskbd* at zskbd?
zsms* at zs?
wsmouse* at zsms?
option SUNKBD_LAYOUT=XXX
option SUNKBD5_LAYOUT=XXX

DESCRIPTION
The zs is a Zilog 8530 serial interface chip used in SBus-based UltraSPARC Sun workstations. The Zilog 8530 provides two input/output channels per instance. Most Sun workstations include two of these interfaces. One of the interfaces is usually hardwired for use by the keyboard and mouse attached to the workstation console. The zskbd devices connect keyboard devices to the generic keyboard driver wskbd. The zsms devices connect mice to the generic mouse driver wsmouse(4). The remaining additional zs interfaces provide RS-423 and RS-232 serial ports for general purpose use.

The zs driver supports all of the standard tty(4) ioctl calls. The status of the DTR, RTS, CTS, and DCD signals can be queried with TIOCMGET command, but, due to limitations in the hardware, only the DTR and RTS signals can be modified with TIOCMSET, TIOCMBIC, and TIOCMBIS ioctl(2) commands.

The zskbd driver supports a number of different key mappings. By default, the layout corresponding to the keyboard model as probed by the zskbd driver will be used. A different layout can be chosen either with the kernel options “SUNKBD_LAYOUT” (for type 4 keyboards) and “SUNKBD5_LAYOUT” (for type 5 keyboards) at compile time or with the utility wsconsctl(8) (variable: “keyboard.encoding”) at runtime.

Other mappings can be used if the whole keymap is replaced by means of wsconsctl(8). The built-in mappings are at this time:

KB_BE
    (be) Belgium French (type 4 only).
KB_DE
    (de) German.
KB_DK
    (dk) Danish.
KB_ES
    (es) Spanish.
KB_FR
    (fr) French (type 5 only).
KB_IT
    (it) Italian.
KB_JP
    (jp) Japanese (type 5 only).
KB_NL
    (nl) Dutch.
KB_NO
    (no) Norwegian.
KB_PT
    (pt) Portuguese.
KB_SF
    (sf) Swiss French.
KB_SG
    (sg) Swiss German.
KB_SV
    (sv) Swedish with “dead accents”.
KB_UK
    (uk) British.
KB_US
    (us) English/US keyboard mapping.

The KB_SV mapping can be used in the KB_NODEAD (.nodead) variant. This switches off the “dead accents”.

EXAMPLES
To set a German keyboard layout, use wsconsctl keyboard.encoding=de. To set it at kernel build time, add the following to the kernel configuration file for a type 4 keyboard:

    option SUNKBD_LAYOUT="KB_DE"

For a type 5 keyboard:

    option SUNKBD5_LAYOUT="KB_DE"

SEE ALSO
ioctl(2), fhc(4), intro(4), sbus(4), tty(4), wskbd(4), wsmouse(4), wsconsctl(8)

HISTORY
The zs driver first appeared in 4.4BSD. Support for the TIOCM* ioctl(2)s appeared in OpenBSD 2.3.

BUGS
The zs driver now supports cua minor devices, but with this known deficiency in the simultaneous outgoing/incoming aspect of the driver: The first outgoing connection succeeds, but second and subsequent connections fail, apparently due to a getty hang. The hung getty apparently prevents the cua device from being re-opened.

The kernel does not provide a keyboard layout for all manufactured Sun keyboard models.