Commit Graph

118 Commits

Author SHA1 Message Date
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