PyObject* Keyboard_DoModal(Keyboard *self, PyObject *args) { CGUIDialogKeyboard *pKeyboard = ((Keyboard*)self)->dlg; if(!pKeyboard) { PyErr_SetString(PyExc_SystemError, "Unable to load virtual keyboard"); return NULL; } int autoClose = 0; if (!PyArg_ParseTuple(args, (char*)"|i", &autoClose)) return NULL; PyXBMCGUILock(); pKeyboard->Initialize(); pKeyboard->SetHeading(self->strHeading); CStdString strDefault(self->strDefault); pKeyboard->SetText(strDefault); pKeyboard->SetHiddenInput(self->bHidden); if (autoClose > 0) pKeyboard->SetAutoClose(autoClose); // do modal of dialog PyXBMCGUIUnlock(); PyXBMCWaitForThreadMessage(TMSG_DIALOG_DOMODAL, WINDOW_DIALOG_KEYBOARD, g_windowManager.GetActiveWindow()); Py_INCREF(Py_None); return Py_None; }