Commit Graph

280 Commits

Author SHA1 Message Date
takemura 7d3231b37a Mouse move event should be made before mouse bown event. Without that,
you may got a mouse down event in strange plase.
2000-05-01 07:36:58 +00:00
mycroft 73ac8c709b Add a concept of the `background attribute'. This is the same as the
current attribute, but has all non-color flags turned off.  Use this when
doing erasure, as this allows us to optimize repainting in curses.

XXX The way the default attribute is handled is totally bogus and needs to
be fixed.
2000-04-28 21:56:16 +00:00
tsarna 501c07e5d4 Add an "iopener" keymap variant, giving us.iopener and
us.iopener.swapctrlcaps.  This makes F1 ("Back") into Escape, and shifts
the other keys over by one, so F2-F12 ("Forward"-"Home") become F1-F11.
2000-04-14 23:11:08 +00:00
augustss 169ac5b3c1 Remove register declarations. 2000-03-30 12:41:09 +00:00
thorpej fc96443d15 New callout mechanism with two major improvements over the old
timeout()/untimeout() API:
- Clients supply callout handle storage, thus eliminating problems of
  resource allocation.
- Insertion and removal of callouts is constant time, important as
  this facility is used quite a lot in the kernel.

The old timeout()/untimeout() API has been removed from the kernel.
2000-03-23 07:01:25 +00:00
tsarna 893f3574fb Make clearer. IMHO, all of this code should stop referring to Control-L
and Control-R, since those suggest ^L and ^R, not Left and Right Control.
2000-03-19 06:31:17 +00:00
tsarna 4f2a934e05 Correct a comment 2000-03-19 06:24:52 +00:00
sato 035f58c823 HPC/PsPC keyboard types. 2000-03-13 01:46:44 +00:00
takemura 058d87a788 Add a new frame buffer identifier for the hpcmips. 2000-03-12 04:59:24 +00:00
thorpej da4dc67d3e Add cnbell() support. 2000-03-06 21:37:16 +00:00
soren d610ec4cb0 Add Norwegian keymap from Haavard Lygre. 2000-03-05 08:56:53 +00:00
takemura 32817a3257 WSMOUSE_SCALIBCOORDS had not worked because ioctrl code was wrong. 2000-02-28 12:34:31 +00:00
mycroft 2fd2b78c1f Only call the cursor method when the cursor state is actually changing.
This avoid corrupting VGA displays in text mode (e.g. the first character
of the prompt when you exit vi).
2000-02-25 17:42:51 +00:00
drochner dadc2bc21d pass raw keyboard data unsigned to avoid sign extension 2000-01-22 15:09:00 +00:00
deberg 4cf19b07ea add the NeXT mouse type 2000-01-18 19:52:50 +00:00
takemura ba04c55ed3 Absolute pointing device support.
- Wsmouse_input() get new argument 'flag', which indicates whether x/y/z are
   relative or absolute.
 - Wsmouse get new io controls, WSMOUSEIO_SCALIBCOORDS and
   WSMOUSEIO_GCALIBCOORDS.
2000-01-08 02:57:22 +00:00
enami fa8c26f547 Don't define WSDISPLAY_FONTORDER_L2R as 0. The function wsfont_lock uses
the value 0 specially.
2000-01-07 03:13:23 +00:00
ad 2794212f20 Got too excited with cut and paste in previous. Noted by itojun. 2000-01-06 11:38:02 +00:00
ad 59a1ab9791 Add two new members to 'struct wsdisplay_font': 'bitorder' and 'byteorder'. 2000-01-05 18:44:21 +00:00
drochner b32647d4ea replace embedded _rcsid[] string by __KERNEL_RCSID(), remove _copyright[] 2000-01-05 11:19:36 +00:00
drochner caaf1beab2 change decoding function to return multiple symbols per keypress
(through the "internal" structure), derive a METAESC flag from the
layout variant and translate ALT-<key> into ESC <key> if the flag is set
1999-12-21 12:02:04 +00:00
drochner 54e8bcd294 add a symbol for keyboard variant bits which are not handled by the
mapping code
1999-12-21 11:59:13 +00:00
drochner fc4003355e introduce a METAESC keyboard variant bit 1999-12-21 11:57:59 +00:00
scottr 51fc367157 defopt RCONS_4BPP. 1999-12-12 08:17:28 +00:00
drochner 8996199a85 -allow the "show_screen" call to the display driver to complete
asynchronously, in the same style like the process attach/detach functions
-intercept the "cnpollc" call which originally went directly to the
 keyboard driver and keep track whether the console is in "polling" state
 (DDB!)
-pass a NULL callback to the screen switcher and the process attach/detach
 functions if the console is "polling", to tell them that asynchronous
 completion is forbidden
1999-12-06 18:52:23 +00:00
augustss 02faf8d588 Done something half sensible if a USB console keyboard is unplugged instead
of panic()ing.
XXX Untested.  I will test it the next time I can borrow an iMac.
1999-12-01 23:22:57 +00:00
augustss a9aba751e7 Make it compile even if there is no wsdisplay. 1999-12-01 11:41:46 +00:00
drochner 3bc4cec200 allow to set multiple keyboard "variants" simultanously.
Follows PR kern/8456 by Michael Eriksson <eramore@era-t.ericsson.se>,
implemented diffently.
1999-11-10 16:49:38 +00:00
augustss 9cec807b1c Return -1 from wsmux_displayioctl() if no muxes components like the ioctl(). 1999-11-08 10:10:25 +00:00
mycroft 0c1542d9a4 Apply wrstuden's stopgap change to make alpha/macppc X work without wsmux. 1999-11-08 04:48:18 +00:00
augustss 1e460723a5 Don't flag an error when doing ioctl() on a mux without any
multiplexees.  Should fix PR 8723.
1999-11-03 22:48:38 +00:00
mycroft d2b362b685 Only update the cursor state if it's enabled. 1999-11-03 15:55:27 +00:00
mycroft 02bd5fa80e Split wsdisplay_usl_ioctl() into two functions -- one which is screen-dependent
and one which isn't.  The latter is now used for ttyEcfg, enabling the
VT-switching ioctls to work on it.  (This allows Linux X servers to work when
/emul/linux/dev/tty0 is linked to /dev/ttyEcfg.)
1999-10-19 00:03:18 +00:00
jdolecek d22624c1d2 add wsdisplay_switchtoconsole() to allow other parts of kernel to force
the wscons to switch to console; code taken from wsdisplay_shutdownhook(),
which is now just a wrapper around wsdisplay_switchtoconsole()
1999-10-12 16:47:41 +00:00
ad 71639bf8a7 At shutdown, switch to screen 0 on console display so that we see some
notification from the kernel.
1999-10-01 22:29:12 +00:00
nisimura 1f50d00cc1 Add one new dispaly type for DEC TC TX 8/24bpp framebuffer. Currently acts
as an 8bpp pseudo color device.
1999-09-20 06:29:06 +00:00
jdolecek 61cf56ebf2 introduce new variable wsdisplay_defaultscreens (initialized to
WSDISPLAY_DEFAULTSCREENS or 0 if it's not defined) and use it instead
of WSDISPLAY_DEFAULTSCREENS as approptiate, so that number of screens
added on bootup is patchable

move printing of info about added screen into separate routine and
print just one message for all screens added in wsdisplay_common_attach(),
such as:
	wsdisplay0: screen 1-7 added (80x25, vt100 emulation)

while here, do minor const poisoning

Reviewed by: drochner
Tested by: jdolecek
1999-09-16 18:16:51 +00:00
nisimura 94073f1fd9 One more ioctl() fix. Most of WSDISPLAYIO_xxx were never been called when
no wsmux device is installed.
1999-08-26 06:37:42 +00:00
augustss 6516d0b239 Fix an ioctl() problem. From nisimura@itc.aist-nara.ac.jp (Toru Nishimura). 1999-08-25 21:05:21 +00:00
augustss f7c5edea20 Mention mux # when ignoring it for the console. 1999-08-16 23:22:22 +00:00
augustss 23906f1d41 defopt COMPAT_14 1999-08-14 14:40:08 +00:00
simonb 6b7eee9252 Initialise "error" in wsmux_detach_sc() before testing if it set. 1999-08-14 11:40:31 +00:00
augustss cdfc12a291 Make it possible to open wskbd devices for write (i.e. ioctl) even
if it is already open.
1999-08-07 15:04:35 +00:00
augustss fe98b81a44 Get the dependencies on NWSMUX right (I hope). 1999-08-04 11:26:04 +00:00
augustss b6b44d6809 Eliminate the need for needs-count for wsmux. This should make
wsdisplays work properly again.
1999-07-30 20:52:27 +00:00
thorpej fff1639c50 GRR! Kludge around the extremely annoying wsmux configuration lossage
by removing the "| wsdisplay" from the wsmux.c file declaration.  This
will cause any kernel which includes wsdisplay but not wsmux explicitly
to fail to link, but at least those of us with multiple wsdisplays on
a single machine can build kernels again.
1999-07-30 20:42:16 +00:00
augustss 3d3f77c49e Add the wsmux pseudo device. 1999-07-29 18:20:02 +00:00
augustss 7875415701 Add the detach and activate entry points to the cfattach struct. 1999-07-06 07:42:23 +00:00
drochner f3a6841709 make it compile if WSDISPLAY_COMPAT_RAWKBD is defined, but NWSDISPLAY not,
reported by Kazushi Marukawa <jam@pobox.com>
1999-07-01 11:18:20 +00:00
augustss dd048d428b Make it possible to detach wsmouse and wskbd.
XXX wskbd probably needs some more work.
1999-06-30 06:21:21 +00:00
christos b4bf637a41 Don't let bd.which be unitialized... Thanks Dave! 1999-05-30 21:13:04 +00:00
christos 8567d6cad0 PR/7665: Dave Sainty: X server bell pitch setting doesn't reflect reality
Applied with a little more error checking.
1999-05-30 04:21:29 +00:00
drochner 9c0c171c30 add some #ifdefs to make it link w/o wskbd
(especially for vax)
1999-05-17 16:53:43 +00:00
thorpej 8745214a3c Make this build without wsdisplay. 1999-05-16 19:21:31 +00:00
drochner b7a56e27df Get rid of the timeout-driven wscons_glue stuff which caused a lot of
headaches.
Now console keyboard and display are connected at autoconfiguration time,
when the last of them is found. Other keyboards / displays remain
unconnected until a new ioctl (WSDISPLAYIO_SETKEYBOARD) is called.
1999-05-15 14:22:46 +00:00
drochner 10584c9e73 Sort out the inclusion of wscons source files: the files are only
compiled if the corresponding devices are configured.
(Files calling wscons functions have to check whether these are present.)
1999-05-14 16:01:11 +00:00
drochner 51a0e1a705 define swedish layout and "dvorak" variant 1999-05-11 09:21:07 +00:00
ad 0a77d05407 Add ioctl definitions for setting mouse resolution, scale factor and sample
rate. Add two new display types (DEC PX, PXG). Replace instances of '???' in
comments about DEC hardware with meaningful representations.
1999-05-03 15:43:25 +00:00
mycroft 3800206dc5 Map the Home and End keys as xterm does. 1999-04-22 20:06:02 +00:00
drochner 4f0acde07b defopt WSCONS_SUPPORT_PCVTFONTS 1999-04-01 11:50:02 +00:00
drochner 1663f7072b remove a diagnostic panic in the keyboard autorepeat timeout() handler.
There is a rece condition which might trigger this but is harmless
otherwise. Leave the handler silently instead.
1999-03-27 11:22:23 +00:00
dbj 9d326d488b defopt RCONS_2BPP and RCONS_16BPP
add support for 16bpp framebuffers as found on color nexten.
1999-03-27 00:07:58 +00:00
drochner 5575305f99 If no screen got the "focus" (which happens with serial console or if
the current screen is deleted), automatically give focus to the next
screen created. Saves the need to switch to a usable screen manually.
1999-03-23 15:56:56 +00:00
sommerfe d48e548abb defopt WSDISPLAY_DEFAULTSCREENS 1999-03-22 16:50:54 +00:00
drochner 7cfac216d7 Don't initialize any virtual screens (except the system console) at
autoconfiguration time; this can be done better from rc.local.
(For INSTALL kernels, WSDISPLAY_DEFAULTSCREENS can be defined which
sets up that many screens with default parameters.)
1999-03-13 14:46:20 +00:00
drochner b241f995f0 don't erase the characters moved over on a <TAB>, a real VT100 doesn't
do this - thanks Bill Sommerfeld (PR kern/7124)
1999-03-10 19:54:52 +00:00
drochner cc294f2cc5 complete the font tables for the DEC special fonts; assign some codes
from the private Unicode area (0xe000 ff.) to stuff I didn't find in
the Unicode database
1999-02-20 18:20:02 +00:00
drochner dbdaf91650 change the "mapchar" interface to return a "quality" or "match level"
arguments which allows to find approximations for characters which are
not present in a font
1999-02-12 11:25:23 +00:00
drochner 2414f4ac80 "NEXT" is a keyboard type, not a keymap variation. 1999-02-12 11:14:49 +00:00
sommerfe 999d27da77 Don't bother copying output queue into automatic buffer; instead, pass
contiguous chunk of outq to emulation routine.  Fix based on patch
from M. Drochner, modified to call output routine once with each
contiguous chunk when the ring buffer wraps around.
1999-02-08 14:48:07 +00:00
sommerfe 95ee03319d Change WSDISPLAYBURST from OBUFSIZ-1 to OBUFSIZ*4, for a ~15x
improvement in the "cat /usr/share/misc/termcap" benchmark on 486/75

ttwrite queues data for us in OBUFSIZ chunks.  If we only consume
OBUFSIZ-1 bytes per call to wsdisplaystart(), we're *guaranteed* to
fall behind when given maximum-sized reads (which will defer
processing the leftovers until ttrstrt gets called, after a timeout)

Note that OBUFSIZ*4 may be overkill; OBUFSIZ*3 may be sufficient to
get maximal performance; OBUFSIZ*2 resulted in only about a 2.5x
performance improvement, but it's 2am and I've done enough tweaking
for the night.
1999-02-08 07:05:51 +00:00
drochner b6867c91a4 make the timeout for process/vt synchronization "config" settable and
ddb/gdb patchable
1999-01-29 22:24:24 +00:00
dbj 7919e08986 wscons based console video & keyboard support for the NeXT
from Matt DeBergalis
1999-01-28 11:46:22 +00:00
drochner a7f50b8178 Debugger() -> console_debugger() to honour the ddb_fromconsole sysctl 1999-01-26 17:08:37 +00:00
drochner 309847b355 improve error handling in 2 cases:
1. If the current screen becomes invalid (ie no focus anymore), always
   set the keyboard to translating mode. Otherwise, we could get stuck
   because the command keystokes don't come through.
2. Catch errors in attaching to a process (X server) - For this,
   implement a callback mechanism similar to the detach case. Add an
   argument to report an errno via callback.
1999-01-26 14:22:14 +00:00
drochner be7c382051 forgot to commit last week: define wsmouse type constants for busmice 1999-01-26 13:43:00 +00:00
drochner 428461ab21 add definitions for the additional modifiers on japanese keyboards
(These are not of use for wscons, but we want to give names to the keys
at least.)
1999-01-23 16:59:22 +00:00
drochner a1038a18af remove wsdisplay_has_emulator(), this is not meaningful with virtual screens,
and it did not work with external (serial) consoles what can cause that
a display has no screen and thus no "focus"
1999-01-18 20:03:59 +00:00
drochner 6424072ccd extend the interface for reset-like commands from the keyboard 1999-01-17 16:01:38 +00:00
drochner 3bc0bad0af adapt to "reset" interface change, pass "close all" to wsdisplay 1999-01-17 15:59:17 +00:00
drochner b892856647 -extend the interface for reset-like commands from the keyboard,
add handling of a "close all" command
-split out code common with wsdisplay_delscreen() into
 wsdisplay_closescreen()
-add ttymodem call to signal a HUP to the application if the screen
 is closed
-add flag to force a "clear screen" on close (XXX should actually be
 controlled from userland)
-remove checks for existence of "reset" entries in the emulations - this
 is required now
1999-01-17 15:56:33 +00:00
drochner b465a52a35 define a "close everything" keyboard command 1999-01-17 15:47:20 +00:00
drochner b69b2fd8f4 define a "clear screen" command to the emulator and complete the
emulation's "reset" implementations as far as useful
1999-01-17 15:44:57 +00:00
drochner 6efb3afd18 add definition for japanese keyboard 1999-01-15 16:00:33 +00:00
drochner d90442b612 add a "reset terminal emulator" command pseudo-keysym and call the
corresponding callback if one is hit
1999-01-14 11:44:54 +00:00
drochner 624d9f505f -actually reset the terminal emulator on close()
-add a callback to reset the terminal emulator by keyboard command
1999-01-14 11:40:58 +00:00
drochner 58095dfd3b change the way fonts are handled: now we have a display-global ioctl
to download fonts and a per-screen call to select a font
allows easier sharing of ressources in the display driver
change the parameters to the load_font driver vector to pass all
available font information
1999-01-13 16:21:02 +00:00
drochner b50830062b export functions to reset the emulator and the character mappings 1999-01-13 15:38:30 +00:00
drochner 2bfadc6a8d add a hook for resetting the terminal emulator completely or partially 1999-01-13 15:30:59 +00:00
drochner 33b1cd5328 Oops, "square root" is Unicode 221a, not 211a! 1999-01-11 20:48:10 +00:00
augustss c437dc4229 Remove redundant test if the unit numbers is in range. 1999-01-10 18:22:14 +00:00
augustss d47a7fb7e0 Rename the "windows" keys and add the new keys to the keyboard maps. 1999-01-10 16:56:35 +00:00
augustss 851c51418d Add definitions for Pause and Print_Screen keys.
(Why were these keys missing?  Or am I missing something obvious here?)
1999-01-10 13:20:41 +00:00
drochner a15a03eff2 Since ukbd has an own map, this file is not needed anymore. 1999-01-10 13:20:21 +00:00
augustss fe099e481b Add definitions for left and right "Windows" keys and menu key. 1999-01-10 13:14:42 +00:00
augustss b2acf0b9f2 Change from bcopy/bzero to memxxx. From PR 6778 by
Erik Bertelsen <erik@q610.ebe.uni-c.dk>.
1999-01-10 00:28:21 +00:00
drochner a2b9f1ba6e add a definition for the "swap ctl and caps" option 1999-01-09 16:18:38 +00:00
drochner 5639141200 add ioctl()s for screen allocation/deallocation 1999-01-09 15:44:45 +00:00
drochner a541ccbcb2 rename "struct wsdisplay_conf" -> "struct wsscreen_internal" to reflect
its real meaning
support allocation and deallocation of virtual screens at runtime
implement a "control device" (minor number = 255) and ioctl()s for screen
 allocation/deallocation
minor fixes to consistency checks / error handling
1999-01-09 15:42:34 +00:00
drochner 69d3aa9606 don't install wskbdmap_mfii.h to userland 1999-01-06 12:24:51 +00:00
drochner f8402fc0be add definition for british keyboard 1999-01-06 11:45:12 +00:00
augustss a971be193b Add USB keyboard type. 1998-12-30 19:15:11 +00:00
augustss 503bbd973d Allow the wsmouse device to be opened for writing even if it is already
open, this way ioctl() can be performed on it and wsconsctl works.
1998-12-30 14:02:18 +00:00
augustss 44df4dcc85 Add a wscons display type `unknown' that the generic VGA driver can
return until someone fixes it for real.
1998-12-30 13:54:03 +00:00
augustss 0ae031028d Add a special wsmouse type for USB mice. 1998-12-30 13:14:21 +00:00
augustss c9cf2c5601 Fix typo. 1998-12-28 16:41:11 +00:00
hannken bf9e279952 Prepare for wsconsctrl:
- clean up keycode defines.
- allow easy parse of wsksymdef.h.
- add misssing KB_IT entry.
- set layout to KB_USER after ioctl WSKBDIO_SETMAP.
1998-12-28 13:48:24 +00:00
drochner 4f720cad14 make sure programs cannot write to the screen while it is in graphics mode 1998-12-15 14:25:59 +00:00
drochner 3a08ae9402 always use unsigned numbers for screen positions (for sanity - the libkern
min() et al. did unsigned comparisions before)
make ROWS_ABOVE / ROWS_BELOW return signed values, the negative results
occur if the cursor is outside the scrolling region
1998-12-04 20:48:04 +00:00
drochner bdb85f9116 add definition for french keyboard 1998-10-03 11:59:44 +00:00
drochner 1eda36523a Add option bit which covers the delta between LK201 and LK401. 1998-09-17 18:16:39 +00:00
drochner fdfd53e5af Add end mark to list of keymaps.
XXX This file will be removed, it is only left until the USB driver
XXX got an own keymap.
1998-09-17 18:14:06 +00:00
drochner ec9b2072bb Reorganize the list of keyboard maps: no explicite length counter, use
an end mark instead. This allows to keep keymaps separate from the drivers
referring to them.
1998-09-17 18:10:53 +00:00
drochner 1a9e20e98c Define a new keyboard eveny type "all keys up". This allows to reduce
the amount of statekeeping in drivers for LK201-like keyboards, and it
might be useful to resync after resets or overflows.
(reused the unused WSCONS_EVENT_KEY_OTHER event ID)
Implement the necessary decoding bits.
1998-09-17 18:05:43 +00:00
drochner a442e328e7 -add italian layout, from Dante Profeta <dante@mclink.it>
-name pckbd_keydesc_declk -> pckbd_keydesc_us_declk for consistency
1998-09-01 18:11:13 +00:00
drochner 9d3ed7d925 add definition for italian keyboard 1998-09-01 18:09:27 +00:00
thorpej ff266f0937 Add some braces to make egcs happy. 1998-08-18 18:23:07 +00:00
eeh a2dd74ed79 Merge paddr_t changes into the main branch. 1998-08-13 02:10:37 +00:00
drochner 3292aee22b Separate special character handling from normal output so that they
are obeyed even during an escape sequence.
This is how the original VT100 behaves.
1998-08-12 20:09:47 +00:00
drochner 8e12b6c020 stricter parameter check for scrolling regions
(PR kern/5954 by Dave Huang <khym@bga.com>)
1998-08-12 20:04:12 +00:00
drochner 4ee71fe4f4 Split the wskbd_attach arguments into console and autoconfiguration parts
(again); put some constant data into shared structures. This makes it
more look like the mouse part, and it helps USB integration.
Implement wskbd_enable() to enable/disable the keyboard.
1998-08-02 14:18:07 +00:00
augustss 0733d4c87f Do locator related defines using defines from locators.h rather
than literal constants.
1998-07-28 22:01:24 +00:00
drochner 87ad9bca7a add third axis for pointing devices (flying mice) 1998-07-27 22:33:22 +00:00
drochner 1e737a4010 add definition for pointing device's absolute z coordinates 1998-07-27 18:17:08 +00:00
drochner e6f2ea1f40 define a z axis for pointing devices which support this 1998-07-27 16:59:22 +00:00
augustss 7c50ea1e65 Insert lots of ``#if NWSMOUSE > 0'' and ``#if NWSDISPLAY > 0'' to make it
possible to have a wsmouse and/or wskbd without having a wsdisplay.
1998-07-25 20:02:20 +00:00
drochner 56a5adfaff Switch keyboard to "event mode" on open.
Nuke wskbd_set_translation(). It doesn't fit into the "screen" model.
1998-07-23 14:33:01 +00:00
drochner dc08679458 Fix ioctl definitions for WSKBDIO_{SET,GET}LEDS.
from Takuya Koumoto <takuya-k@is.aist-nara.ac.jp>
1998-07-21 09:17:33 +00:00
drochner 9d504aa676 rename "LK" -> "declk" for consistency 1998-07-15 14:06:34 +00:00
drochner 37040ed809 support keyboards with PC interface and DEC layout (LK461) 1998-07-14 19:33:58 +00:00
drochner bfd46dadad fix codes delivered by "Help" and "Do" keys 1998-07-14 19:32:17 +00:00
jonathan 3472ba67bb * defopt COMPAT_{09,10,11,12,13} and COMPAT_NOMID (from unsaved buffers).
TODO: revisit interaction between native compat and emul compat usage.
1998-07-05 18:27:18 +00:00
jonathan 466e784ee1 defopt DDB. 1998-07-04 22:18:13 +00:00
drochner 02e2e73771 fix VT300 tab stop report format 1998-06-29 21:14:40 +00:00
drochner 406be71827 don't set a tabstop in column 1 1998-06-29 21:10:53 +00:00
drochner bcb927f8e9 fix gcc unused variable warning
From Matthias Scheler <tron@lyssa.owl.de>.
1998-06-29 14:04:27 +00:00
drochner 158d2cdd40 Fix initialization in console case: use the paramerters which were passed
in the cninit() call - the new ones are not useful.
1998-06-26 22:35:27 +00:00
drochner bbb4f765cc Improvements to the VT100 emulation:
-display DEC special graphics and DEC technical characters as far as
  possible
-implement the font switching controls (need documentation!)
-behave well if double-width characters are requested
-simplify the state machine: store CSI command modifiers in variables
  instead of dedicating own states to each of them
1998-06-26 21:20:34 +00:00
drochner 3320e0727b add dummy character mapping function 1998-06-26 21:12:49 +00:00
drochner 9260b705a5 define a "mapping" function which can be used by the emulation module
to display non-ASCII characters
1998-06-26 21:10:52 +00:00
thorpej 1a2cb1b9d4 defopt COMPAT_FREEBSD 1998-06-25 22:49:18 +00:00
drochner d3e8687b47 Change the calling interface for text output (to the graphics driver)
to take a single character at a time, where the character is an "int" now.
The old interface (took a string) was never called with more than 1
char to print, and the "int" allows us to handle charsets cleanly.
1998-06-20 21:52:49 +00:00
drochner 68aabb6d21 First cut on a VT100 emulation.
It should be able to parse escape sequences up to VT300, but not everything
is implemented. Most notably, there is no font handling - all displayable
characters are handed to the graphics driver. To solve this, a serious
interface change to the graphics driver is needed (Unicode?).
1998-06-20 19:17:47 +00:00
drochner c06d6aa64a add some more ASCII definitions, move NP->FF for consistency 1998-06-20 19:11:04 +00:00
drochner 5a3dd2249a change initialization order to avoid a race condition if a switch is
performed at the same time
1998-06-16 13:31:59 +00:00
drochner 4b5822f4e4 add missing keys for vt100 1998-06-16 11:08:30 +00:00
drochner e17c765503 prepare for VT100 emulation 1998-06-15 17:51:56 +00:00
drochner bd3b88b6a6 Move the translation of keypad and function keys into the realm of the
terminal emulation. For this, change the interface to wsdisplay_kbdinput()
to take a "keysym_t" as argument. From there, the code is handed to the
appropriate emulation module via a new entry point: "translate".
Nuke the ioctls dealing with global assignment of character sequences
to keypad/function keys.
The "sun" emulation works much better now!
1998-06-15 17:48:32 +00:00
drochner e96a163c22 #define NUL 0 -- isn't that great? 1998-06-15 17:38:39 +00:00
drochner 7560f4c5d7 Fix broken pointer arithmetic.
Being here, add hooks for the highly-desired-but-not-yet-done
vt100 emulation.
1998-06-15 17:10:37 +00:00