Commit Graph

61 Commits

Author SHA1 Message Date
atatat 31144d9976 Convert ioctl code to use EPASSTHROUGH instead of -1 or ENOTTY for
indicating an unhandled "command".  ERESTART is -1, which can lead to
confusion.  ERESTART has been moved to -3 and EPASSTHROUGH has been
placed at -4.  No ioctl code should now return -1 anywhere.  The
ioctl() system call is now properly restartable.
2002-03-17 19:40:26 +00:00
tsutsui c12b5c180d Call malloc(9) with M_ZERO flag instead of memset() after malloc(). 2002-01-12 16:41:02 +00:00
augustss b5e0d97bf7 Add some DIAGNOSTIC tests. 2001-11-22 00:57:14 +00:00
lukem 139747fb15 add/cleanup RCSIDs 2001-11-13 06:17:46 +00:00
augustss 48ea68d3d9 Make wsdisplay_set_console_kbd() a little less twisted. 2001-11-10 17:14:51 +00:00
augustss 4cfba4290a Ad a debug message. (With { } this time.) 2001-11-07 13:36:43 +00:00
augustss 546b6e4434 Cosmetics. 2001-10-27 13:52:57 +00:00
augustss 14fc12f3b4 Cosmetics. 2001-10-27 00:39:29 +00:00
augustss b609967aa7 Don't enable/disable kbds that belong to a display; they are always enabled. 2001-10-27 00:35:48 +00:00
augustss 49c2ea7a87 Compare against coreect value to determine if we belong to a mux. 2001-10-26 20:48:47 +00:00
augustss a5d3f7530d Small rearrangement and more error checking. 2001-10-26 20:36:27 +00:00
augustss 59121d58f5 Change back to have a wseventvar in the softc for event sources. This
way the effect of FIOASYNC survives close()/open().  Later versions
of XFree86 relies on this bug/feature.
Also add some more debug stuff.
2001-10-25 14:46:41 +00:00
augustss 9e06709975 Clear wskbd_console_device when console keyboard is detached. 2001-10-24 15:44:50 +00:00
augustss 2f1f0a1702 Major rototilling of the wsmux code. No user visible changes (except that
many bugs have been fixed).
Changes:
The wskbd, wsmouse, and wsmux are now "sub-classes" of wsevsrc, which is
a source of ws events.  This make the structure of those drivers a little
more uniform.
Many bug fixes involving adding and removing devices from muxes.
When a kernel is configured without wsmux there will now be none (unlike
before where you got a console mux anyway).
The kernel now compiles with all combinations of ws devices present.
2001-10-24 14:07:31 +00:00
augustss ad74203973 Fix a pasto. 2001-10-13 19:58:35 +00:00
augustss 04b1440239 Use memset(), not bzero(). 2001-10-13 15:59:01 +00:00
augustss 82e5e6ab85 ANSIfy. 2001-10-13 15:56:15 +00:00
augustss d701e45c14 Two changes to the wsmux code:
* Allow the wsmux used by wsdisplay for the keyboard(s) to be explicitely
  specified with the kbdmux locator.
* Allow keyboards and mice that have a mux to be opened in the regular way.
These changes should be totally backwards compatible.
2001-10-13 13:35:59 +00:00
matthias da7395fac9 wskbd_rawinput: check sc->sc_displaydv before calling wsdisplay_kbdinput. 2001-09-26 15:13:23 +00:00
jdolecek 57a49a2de0 introduce hard limit on maximum font size (WSDISPLAY_MAXFONTSZ - 512KB)
and keymap size (WSKBDIO_MAXMAPLEN - 64KB)
2001-08-05 11:26:52 +00:00
lukem d84d2c6c85 add missing #include "opt_kgdb.h" 2001-05-30 15:24:23 +00:00
lukem b240b7a4e1 #ifdef KGDB, call kgdb_connect(1) if KS_Cmd_Debugger (a la ddb invoking
console_debugger() in the same situation).
this makes it easier to get remote kgdb going if you forget to use boot -d.
2001-03-23 04:22:36 +00:00
takemura dcfcbaf8ae - Add ioctl commands to wsdisplay which set/get some LCD status,
backlight, brightness and contrast.
- Add 9 command key symbols which make wskbd to call wsdisplay's
  iocontrol.
- Add special key map variant KB_MACHDEP. This variant does not
  have any real keymap but it's just a placeholder for machine dependent
  maps which will be overwrite by machine dependent keyboard driver.
2000-10-01 03:29:12 +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
thorpej da4dc67d3e Add cnbell() support. 2000-03-06 21:37:16 +00:00
drochner dadc2bc21d pass raw keyboard data unsigned to avoid sign extension 2000-01-22 15:09:00 +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
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
mycroft 0c1542d9a4 Apply wrstuden's stopgap change to make alpha/macppc X work without wsmux. 1999-11-08 04:48:18 +00:00
augustss f7c5edea20 Mention mux # when ignoring it for the console. 1999-08-16 23:22:22 +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 b6b44d6809 Eliminate the need for needs-count for wsmux. This should make
wsdisplays work properly again.
1999-07-30 20:52:27 +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
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 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
drochner a7f50b8178 Debugger() -> console_debugger() to honour the ddb_fromconsole sysctl 1999-01-26 17:08:37 +00:00
drochner 3bc0bad0af adapt to "reset" interface change, pass "close all" to wsdisplay 1999-01-17 15:59:17 +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
augustss c437dc4229 Remove redundant test if the unit numbers is in range. 1999-01-10 18:22:14 +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
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 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 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