Commit Graph

194 Commits

Author SHA1 Message Date
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
drochner b45b8e0fc0 clean up if a controlling process exits while a switch is in progress,
initialize the flag used for keeping track of this
1998-06-13 14:36:32 +00:00
drochner 61edae3ba0 fix initialization in non-console case 1998-06-13 14:28:50 +00:00
cgd 651b44e211 Rework the way kernel include files are installed. In the new method,
as with user-land programs, include files are installed by each directory
in the tree that has includes to install.  (This allows more flexibility
as to what gets installed, makes 'partial installs' easier, and gives us
more options as to which machines' includes get installed at any given
time.)  The old SYS_INCLUDES={symlinks,copies} behaviours are _both_
still supported, though at least one bug in the 'symlinks' case is
fixed by this change.  Include files can't be build before installation,
so directories that have includes as targets (e.g. dev/pci) have to move
those targets into a different Makefile.
1998-06-12 23:22:30 +00:00
drochner ad793db324 access the "raw keyboard" flag inside spltty() to make sure there is
no screen switch in between
1998-06-12 18:15:27 +00:00
drochner 107df2472d add options for new compatibility stuff, add wsdisplay_compat_usl.c 1998-06-11 22:16:27 +00:00
drochner 68891be537 implement a way to get raw keyboard data (for X) 1998-06-11 22:15:14 +00:00
drochner 0aa10dad6b Add calls to process / VT synchronization functions (as provided in
wsdisplay_compat_usl.c).
add "sleeping ok" argument to wsdisplay_switch()
implement a way to get raw keyboard data (for X)
some cleanup
1998-06-11 22:13:52 +00:00
drochner 95ce034ada add "sleeping ok" argument to wsdisplay_switch()
implement a way to get raw keyboard data (for X)
1998-06-11 22:08:57 +00:00
drochner c90fa98f4a add "sleeping ok" argument to wsdisplay_switch() 1998-06-11 22:03:15 +00:00
drochner 8fb1d35ab5 Implement the VT access and keyboard control ioctl()s needed for
compatibility to PCVT, syscons and the Linux console.
1998-06-11 22:00:04 +00:00
thorpej 5bc2217a49 Nuke __BROKEN_INDIRECT_CONFIG. 1998-06-09 07:24:55 +00:00
drochner f5482453a0 fix "Cursor Next Line (CNL)" (did the opposite) 1998-05-24 10:56:16 +00:00
thorpej 492ee1399e Make it possible to build a kernel with a wscons display device but not
a wscons keyboard device.
1998-05-23 01:06:36 +00:00
drochner e1f67ace67 Initialize the "curattr" member of the emulation data in early console
setup -- it is used to fill empty space.
Fixes 2/3 of PR kern/5457 (Jason Thorpe).
1998-05-19 18:47:13 +00:00
drochner 95bdb660ed Simple screen attribute handling for wscons.
The graphics device driver passes a "default attribute" for normal text
output to the wscons framework. If the emulation module needs more
attributes (for different "renditions") it can allocate them via a
callback.
For now, only the "sun" emulation makes use of it.
1998-05-14 20:49:55 +00:00
hannken 3cdf7f6607 Undo change from drochner (Rev 1.4 of wsksymdef.h) and fix PR #5298 and #5299. 1998-04-20 10:47:36 +00:00
drochner fb43bb5f19 Add danish keymap.
From Soren S. Jorvang (PR kern/5312).
1998-04-18 10:57:13 +00:00
drochner 302692bf8d Namespace protection: give key description table a more private name. 1998-04-18 09:51:20 +00:00
thorpej 085787ddbe defopt the WSEMUL options. 1998-04-17 00:17:27 +00:00
drochner 10860a27c6 Don't use KS_GROUP_xxx values which have set something in the lower
8 bits. This allows to OR them with keycodes.
This is probably a workaround for namespace confusion happening else-
where (in wskbdutil.c:ksym_upcase() perhaps?), but it helps without
too much digging into the details.
1998-04-16 13:29:41 +00:00
drochner ca0d504418 some attributes are now global 1998-04-15 20:29:16 +00:00
hannken 30244f4eb7 Forgot to initialize sc->ioctl. From Matthias Drochner. 1998-04-09 17:16:57 +00:00
hannken 311e30018d Split wscons/wskbd.c's softc into a static and a nonstatic part.
Booting into debugger (-d) now works.
Cleaned wscons/wskbdvar.h. Use the same attach arguments for
console and normal keyboards.
1998-04-09 13:09:45 +00:00
drochner ec9776e3ab Fix calculation of console minor device number.
Being here, remove BROKEN_INDIRECT_CONFIG.
1998-04-07 16:06:33 +00:00
hannken 244266226c Fix typo. 1998-04-07 13:59:38 +00:00
hannken 47e698143a Oops. Forgot RCS ident and copyright. 1998-04-07 13:57:56 +00:00
hannken 64f1bb73d6 Initial import of MI keyboard translation for dev/wscons. 1998-04-07 13:43:16 +00:00
drochner 46f85eeab2 let all 8 bits go through 1998-03-27 18:26:22 +00:00
drochner cbff98f7ff fix max() vs min() confusion at 2 places 1998-03-27 18:22:36 +00:00
drochner b31e63865f Initial import of cgd's new wscons code. 1998-03-22 14:24:02 +00:00