Exemple #1
0
 private static void OnKeyboardCallback(IntPtr closure, GvrKeyboardEvent keyboardEvent)
 {
     lock (callbacksLock)
     {
         threadSafeCallbacks.Add(keyboardEvent);
     }
 }
Exemple #2
0
    IEnumerator Executer()
    {
        while (true)
        {
            yield return(new WaitForSeconds(kExecuterWait));

            while (threadSafeCallbacks.Count > 0)
            {
                GvrKeyboardEvent keyboardEvent = threadSafeCallbacks[0];
                PoolKeyboardCallbacks(keyboardEvent);
                lock (callbacksLock) {
                    threadSafeCallbacks.RemoveAt(0);
                }
            }
        }
    }
Exemple #3
0
    private void PoolKeyboardCallbacks(GvrKeyboardEvent keyboardEvent)
    {
        switch (keyboardEvent)
        {
        case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_UNKNOWN:
            errorCallback(GvrKeyboardError.UNKNOWN);
            break;

        case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SERVICE_NOT_CONNECTED:
            errorCallback(GvrKeyboardError.SERVICE_NOT_CONNECTED);
            break;

        case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_NO_LOCALES_FOUND:
            errorCallback(GvrKeyboardError.NO_LOCALES_FOUND);
            break;

        case GvrKeyboardEvent.GVR_KEYBOARD_ERROR_SDK_LOAD_FAILED:
            errorCallback(GvrKeyboardError.SDK_LOAD_FAILED);
            break;

        case GvrKeyboardEvent.GVR_KEYBOARD_SHOWN:
            showCallback();
            break;

        case GvrKeyboardEvent.GVR_KEYBOARD_HIDDEN:
            hideCallback();
            break;

        case GvrKeyboardEvent.GVR_KEYBOARD_TEXT_UPDATED:
            updateCallback(keyboardProvider.EditorText);
            break;

        case GvrKeyboardEvent.GVR_KEYBOARD_TEXT_COMMITTED:
            enterCallback(keyboardProvider.EditorText);
            break;
        }
    }