void BootPromptWindow::_ActivateKeymap(const BMessage* message) const { entry_ref ref; if (message == NULL || message->FindRef("ref", &ref) != B_OK) return; // Load and use the new keymap Keymap keymap; if (keymap.Load(ref) != B_OK) { fprintf(stderr, "Failed to load new keymap file (%s).\n", ref.name); return; } // Get entry_ref to the Key_map file in the user settings. entry_ref currentRef; if (_GetCurrentKeymapRef(currentRef) != B_OK) { fprintf(stderr, "Failed to get ref to user keymap file.\n"); return; } if (keymap.Save(currentRef) != B_OK) { fprintf(stderr, "Failed to save new keymap file (%s).\n", ref.name); return; } keymap.Use(); }
void BootPromptWindow::_StoreKeymap() const { KeymapListItem* item = dynamic_cast<KeymapListItem*>( fKeymapsListView->ItemAt(fKeymapsListView->CurrentSelection(0))); if (item == NULL) return; // Load and use the new keymap Keymap keymap; if (keymap.Load(item->EntryRef()) != B_OK) { fprintf(stderr, "Failed to load new keymap file (%s).\n", item->EntryRef().name); return; } // Get entry_ref to the Key_map file in the user settings. entry_ref ref; if (_GetCurrentKeymapRef(ref) != B_OK) { fprintf(stderr, "Failed to get ref to user keymap file.\n"); return; } if (keymap.Save(ref) != B_OK) { fprintf(stderr, "Failed to save new keymap file (%s).\n", item->EntryRef().name); return; } keymap.Use(); }