예제 #1
0
파일: Keyboard.cs 프로젝트: LibVega/Vega
        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);
        }
예제 #2
0
파일: Keyboard.cs 프로젝트: SpydazWebAI/nes
 public static void Deinitialise()
 {
     GC.KeepAlive(gkf);
     gkf = null;
 }
예제 #3
0
파일: Keyboard.cs 프로젝트: SpydazWebAI/nes
 /// <summary>
 /// Call Graphics.Initialise() before this.
 /// </summary>
 public static void Initialise()
 {
     gkf = new Glfw.GLFWkeyfun(glfwKeyFun);
     Glfw.glfwSetKeyCallback(gkf);
 }
예제 #4
0
파일: Keyboard.cs 프로젝트: mrmikey/nes
 /// <summary>
 /// Call Graphics.Initialise() before this.
 /// </summary>
 public static void Initialise()
 {
     gkf = new Glfw.GLFWkeyfun(glfwKeyFun);
     Glfw.glfwSetKeyCallback(gkf);
 }
예제 #5
0
파일: Keyboard.cs 프로젝트: mrmikey/nes
 public static void Deinitialise()
 {
     GC.KeepAlive(gkf);
     gkf = null;
 }