Ejemplo n.º 1
0
        internal Keyboard(Window window)
        {
            Window = window;

            for (int i = 0; i < KeysUtils.MAX_KEY_INDEX; ++i)
            {
                _lastKeys[i]  = _currKeys[i] = false;
                _lastPress[i] = _lastRelease[i] = _lastTap[i] = 0;
            }

            _keyfunc = (window, key, scancode, action, mods) => {
                if (action == Glfw.REPEAT)
                {
                    return;
                }
                var keys = KeysUtils.Translate(key);
                if (keys == Keys.Unknown)
                {
                    return;
                }
                handleKey(keys, scancode, action == Glfw.PRESS);
            };
            Glfw.SetKeyCallback(window.Handle, _keyfunc);
        }
Ejemplo n.º 2
0
 public static void Deinitialise()
 {
     GC.KeepAlive(gkf);
     gkf = null;
 }
Ejemplo n.º 3
0
 /// <summary>
 /// Call Graphics.Initialise() before this.
 /// </summary>
 public static void Initialise()
 {
     gkf = new Glfw.GLFWkeyfun(glfwKeyFun);
     Glfw.glfwSetKeyCallback(gkf);
 }
Ejemplo n.º 4
0
 /// <summary>
 /// Call Graphics.Initialise() before this.
 /// </summary>
 public static void Initialise()
 {
     gkf = new Glfw.GLFWkeyfun(glfwKeyFun);
     Glfw.glfwSetKeyCallback(gkf);
 }
Ejemplo n.º 5
0
 public static void Deinitialise()
 {
     GC.KeepAlive(gkf);
     gkf = null;
 }