adv_error mouseb_init(void) { unsigned i; assert(mouseb_state.driver_current == 0); assert(!mouseb_state.is_active_flag); if (!mouseb_state.is_initialized_flag) { mouseb_default(); } /* store the error prefix */ error_nolog_set("Unable to initialize the mouse driver. The errors are:\n"); for (i = 0; i < mouseb_state.driver_mac; ++i) { const adv_device* dev; dev = device_match(mouseb_state.name, (const adv_driver*)mouseb_state.driver_map[i], 1); error_cat_set(mouseb_state.driver_map[i]->name, 1); if (dev && mouseb_state.driver_map[i]->init(dev->id) == 0) { mouseb_state.driver_current = mouseb_state.driver_map[i]; break; } } error_cat_set(0, 0); if (!mouseb_state.driver_current) return -1; error_reset(); log_std(("mouseb: select driver %s\n", mouseb_state.driver_current->name)); mouseb_state.is_active_flag = 1; mouseb_state.is_enabled_flag = 0; for (i = 0; i < mouseb_count_get(); ++i) { char name[DEVICE_NAME_MAX]; if (mouseb_device_name_get(i, name) != 0) strcpy(name, DEVICE_NONAME); log_std(("mouseb: identifier %u '%s'\n", i, name)); } return 0; }
adv_error keyb_init(adv_bool disable_special) { unsigned i; assert(keyb_state.driver_current == 0); assert(!keyb_state.is_active_flag); if (!keyb_state.is_initialized_flag) { keyb_default(); } /* store the error prefix */ error_nolog_set("Unable to initialize the keyboard driver. The errors are:\n"); for (i = 0; i < keyb_state.driver_mac; ++i) { const adv_device* dev; dev = device_match(keyb_state.name, (const adv_driver*)keyb_state.driver_map[i], 0); error_cat_set(keyb_state.driver_map[i]->name, 1); if (dev && keyb_state.driver_map[i]->init(dev->id, disable_special) == 0) { keyb_state.driver_current = keyb_state.driver_map[i]; break; } } error_cat_set(0, 0); if (!keyb_state.driver_current) return -1; error_reset(); log_std(("keyb: select driver %s\n", keyb_state.driver_current->name)); keyb_state.is_active_flag = 1; keyb_state.is_enabled_flag = 0; for (i = 0; i < keyb_count_get(); ++i) { char name[DEVICE_NAME_MAX]; if (keyb_device_name_get(i, name) != 0) strcpy(name, DEVICE_NONAME); log_std(("keyb: identifier %u '%s'\n", i, name)); } return 0; }