summaryrefslogtreecommitdiffstats
path: root/sys/dev/atkbdc/atkbd.c
diff options
context:
space:
mode:
authoryokota <yokota@FreeBSD.org>1999-01-19 11:31:22 +0000
committeryokota <yokota@FreeBSD.org>1999-01-19 11:31:22 +0000
commit293d6c3fb6d416ab198f62f042e8400f6dadb734 (patch)
tree3afd1a71d28f2320c4775cad2f0eee29a8aacaec /sys/dev/atkbdc/atkbd.c
parent74f1f33e16c6442f35583fc9dad25b4eb21a7d90 (diff)
downloadFreeBSD-src-293d6c3fb6d416ab198f62f042e8400f6dadb734.zip
FreeBSD-src-293d6c3fb6d416ab198f62f042e8400f6dadb734.tar.gz
syscons
- Bring down the splash screen when a vty is opened for the first time. - Make sure the splash screen/screen saver is stopped before switching vtys. - Read and save initial values in the BIOS data area early. VESA BIOS may change BIOS data values when switching modes. - Fix missing '&' operator. - Move ISA specific part of driver initialization to syscons_isa.c. atkbd - kbdtables.h is now in /sys/dev/kbd. all - Adjust for forthcoming alpha port. Submitted by: dfr
Diffstat (limited to 'sys/dev/atkbdc/atkbd.c')
-rw-r--r--sys/dev/atkbdc/atkbd.c19
1 files changed, 15 insertions, 4 deletions
diff --git a/sys/dev/atkbdc/atkbd.c b/sys/dev/atkbdc/atkbd.c
index 59f265c..653e295 100644
--- a/sys/dev/atkbdc/atkbd.c
+++ b/sys/dev/atkbdc/atkbd.c
@@ -23,7 +23,7 @@
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
* THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*
- * $Id: atkbd.c,v 1.1 1999/01/09 02:44:49 yokota Exp $
+ * $Id: atkbd.c,v 1.2 1999/01/13 11:19:19 yokota Exp $
*/
#include "atkbd.h"
@@ -47,6 +47,8 @@
#ifndef __i386__
+#include <isa/isareg.h>
+
#define ATKBD_SOFTC(unit) \
((atkbd_softc_t *)devclass_get_softc(atkbd_devclass, unit))
@@ -192,7 +194,7 @@ atkbd_timeout(void *arg)
*/
(*kbdsw[kbd->kb_index]->lock)(kbd, FALSE);
if ((*kbdsw[kbd->kb_index]->check_char)(kbd))
- (*kbdsw[kbd->kb_index]->intr)(kbd, NULL);
+ (*kbdsw[kbd->kb_index]->intr)(kbd);
}
splx(s);
timeout(atkbd_timeout, arg, hz/10);
@@ -331,7 +333,7 @@ static int get_kbd_id(KBDC kbdc);
/* local variables */
/* the initial key map, accent map and fkey strings */
-#include <i386/isa/kbdtables.h>
+#include <dev/kbd/kbdtables.h>
/* structures for the default keyboard */
static keyboard_t default_kbd;
@@ -524,7 +526,7 @@ atkbd_term(keyboard_t *kbd)
/* keyboard interrupt routine */
static int
-atkbd_intr(keyboard_t *kbd, void *arg)
+atkbd_intr(keyboard_t *kbd)
{
atkbd_state_t *state;
int c;
@@ -1204,6 +1206,15 @@ init_keyboard(KBDC kbdc, int *type, int flags)
}
}
+#ifdef __alpha__
+ if (send_kbd_command_and_data(
+ kbdc, KBDC_SET_SCANCODE_SET, 2) != KBD_ACK) {
+ printf("atkbd: can't set translation.\n");
+
+ }
+ c |= KBD_TRANSLATION;
+#endif
+
/* enable the keyboard port and intr. */
if (!set_controller_command_byte(kbdc,
KBD_KBD_CONTROL_BITS | KBD_TRANSLATION | KBD_OVERRIDE_KBD_LOCK,
OpenPOWER on IntegriCloud