keyboard
ObjectDeleter<VirtioInputHandler> keyboard(
keyboard->SetFd(fd.Detach());
*devicesEnd++ = keyboard->Ref();
keyboard.Detach();
static input_device_ref keyboard = {(char*)"VirtualKeyboard", B_KEYBOARD_DEVICE, (void*)this};
static input_device_ref* devices[2] = {&keyboard, NULL};
if (ioctl(keyboard->device, KB_READ, &rawKeyInfo,
update_leds(keyboard->device, modifiers);
write(keyboard->target, string, numBytes);
for (struct keyboard* keyboard = con->keyboards; keyboard != NULL;
keyboard = keyboard->next) {
close(keyboard->device);
for (struct keyboard* keyboard = con->keyboards; keyboard != NULL;) {
struct keyboard* next = keyboard->next;
wait_for_thread(keyboard->thread, NULL);
delete keyboard;
keyboard = next;
static struct keyboard*
open_keyboards(int target, const char* start, struct keyboard* previous)
struct keyboard* keyboard = previous;
keyboard = open_keyboards(target, path, keyboard);
keyboard = new ::keyboard();
keyboard->device = fd;
keyboard->target = target;
keyboard->thread = spawn_thread(&keyboard_reader, path,
B_URGENT_DISPLAY_PRIORITY, keyboard);
if (keyboard->thread < 0) {
delete keyboard;
previous->next = keyboard;
resume_thread(keyboard->thread);
return keyboard;
struct keyboard* next;
struct keyboard* keyboards;
struct keyboard* keyboard = (struct keyboard*)arg;
gState.currentWindow->keyboard = keyboardFunc;
if (win->keyboard) {
win->keyboard(win->key, win->keyX, win->keyY);
if (keyboard) {
keyboard = NULL;
GLUTkeyboardCB keyboard; /* keyboard (ASCII,x,y) */
GLUTkeyboardCB keyboard; /* keyboard (ASCII,x,y) */
const uint8* keyboard;
keyboard = (const uint8*)resources->LoadResource(
if (keyboard) {
BIconUtils::GetVectorIcon(keyboard, size, &keyboardIcon);
DeviceListItemView* keyboard
fDeviceListView->AddItem(keyboard);
void keyboard(unsigned char key, int x, int y);
glutKeyboardFunc(keyboard);