[haiku-commits] r42866 - haiku/trunk/src/add-ons/kernel/bus_managers/ps2
- From: zharik@xxxxxx
- To: haiku-commits@xxxxxxxxxxxxx
- Date: Sun, 16 Oct 2011 18:57:06 +0200 (CEST)
Author: siarzhuk
Date: 2011-10-16 18:57:06 +0200 (Sun, 16 Oct 2011)
New Revision: 42866
Changeset: https://dev.haiku-os.org/changeset/42866
Ticket: https://dev.haiku-os.org/ticket/7963
Modified:
haiku/trunk/src/add-ons/kernel/bus_managers/ps2/ps2_keyboard.cpp
Log:
Support of keyboard id reading. Partially fixes #7963.
Modified: haiku/trunk/src/add-ons/kernel/bus_managers/ps2/ps2_keyboard.cpp
===================================================================
--- haiku/trunk/src/add-ons/kernel/bus_managers/ps2/ps2_keyboard.cpp
2011-10-16 16:44:17 UTC (rev 42865)
+++ haiku/trunk/src/add-ons/kernel/bus_managers/ps2/ps2_keyboard.cpp
2011-10-16 16:57:06 UTC (rev 42866)
@@ -61,6 +61,7 @@
static int32 sKeyboardRepeatRate;
static bigtime_t sKeyboardRepeatDelay;
+static uint8 sKeyboardIds[2];
static status_t
@@ -306,6 +307,13 @@
cmdbyte, status);
}
}
+
+ status = ps2_dev_command(&ps2_device[PS2_DEVICE_KEYB],
+ PS2_CMD_GET_DEVICE_ID, NULL, 0, sKeyboardIds,
sizeof(sKeyboardIds));
+
+ if (status != B_OK) {
+ INFO("ps2: cannot read keyboard device id:0x%#08lx\n", status);
+ }
return B_OK;
}
@@ -384,6 +392,8 @@
sHasKeyboardReader = false;
if (cookie->is_debugger)
sHasDebugReader = false;
+
+ sKeyboardIds[0] = sKeyboardIds[1] = 0;
}
TRACE("ps2: keyboard_close done\n");
@@ -510,6 +520,11 @@
}
case KB_GET_KEYBOARD_ID:
+ {
+ TRACE("ps2: ioctl KB_GET_KEYBOARD_ID\n");
+ return user_memcpy(buffer, &sKeyboardIds,
sizeof(sKeyboardIds));
+ }
+
case KB_SET_CONTROL_ALT_DEL_TIMEOUT:
case KB_CANCEL_CONTROL_ALT_DEL:
case KB_DELAY_CONTROL_ALT_DEL:
Other related posts:
- » [haiku-commits] r42866 - haiku/trunk/src/add-ons/kernel/bus_managers/ps2 - zharik