當前位置: 首頁>>代碼示例>>Python>>正文


Python glfw.set_key_callback方法代碼示例

本文整理匯總了Python中glfw.set_key_callback方法的典型用法代碼示例。如果您正苦於以下問題:Python glfw.set_key_callback方法的具體用法?Python glfw.set_key_callback怎麽用?Python glfw.set_key_callback使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在glfw的用法示例。


在下文中一共展示了glfw.set_key_callback方法的5個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: __init__

# 需要導入模塊: import glfw [as 別名]
# 或者: from glfw import set_key_callback [as 別名]
def __init__(self, renderer, title="GlfwBaseApp"):
        "Creates an OpenGL context and a window, and acquires OpenGL resources"
        self.renderer = renderer
        self.title = title
        self._is_initialized = False # keep track of whether self.init_gl() has been called
        
        if not glfw.init():
            raise Exception("GLFW Initialization error")
        # Use modern OpenGL version 4.5 core
        glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, 4)
        glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, 5)
        glfw.window_hint(glfw.OPENGL_PROFILE, glfw.OPENGL_CORE_PROFILE)
        self._configure_context()
        self.window = glfw.create_window(self.renderer.window_size[0], self.renderer.window_size[1], self.title, None, None)
        if self.window is None:
            glfw.terminate()
            raise Exception("GLFW window creation error")
        glfw.set_key_callback(self.window, self.key_callback)
        glfw.make_context_current(self.window) 
開發者ID:cmbruns,項目名稱:pyopenvr,代碼行數:21,代碼來源:glfw_app.py

示例2: __init__

# 需要導入模塊: import glfw [as 別名]
# 或者: from glfw import set_key_callback [as 別名]
def __init__(self, window, attach_callbacks=True):
        super(GlfwRenderer, self).__init__()
        self.window = window

        if attach_callbacks:
            glfw.set_key_callback(self.window, self.keyboard_callback)
            glfw.set_cursor_pos_callback(self.window, self.mouse_callback)
            glfw.set_window_size_callback(self.window, self.resize_callback)
            glfw.set_char_callback(self.window, self.char_callback)
            glfw.set_scroll_callback(self.window, self.scroll_callback)

        self.io.display_size = glfw.get_framebuffer_size(self.window)

        self._map_keys()
        self._gui_time = None 
開發者ID:swistakm,項目名稱:pyimgui,代碼行數:17,代碼來源:glfw.py

示例3: __init__

# 需要導入模塊: import glfw [as 別名]
# 或者: from glfw import set_key_callback [as 別名]
def __init__(self, context):
    super(GlfwKeyboard, self).__init__()
    with context.make_current() as ctx:
      ctx.call(glfw.set_key_callback, context.window, self._handle_key_event)
    self.on_key = util.QuietSet() 
開發者ID:deepmind,項目名稱:dm_control,代碼行數:7,代碼來源:glfw_gui.py

示例4: b_init

# 需要導入模塊: import glfw [as 別名]
# 或者: from glfw import set_key_callback [as 別名]
def b_init(self):
        glfw.init()
        glfw.window_hint(glfw.SAMPLES, 4)
        self.window = glfw.create_window(self.companion_width, self.companion_height, 'hello_vr', None, None)
        glfw.set_key_callback(self.window, self.key_callback)
        glfw.make_context_current(self.window)
        #
        self.hmd = openvr.init(openvr.VRApplication_Scene)
        #
        vr_sys = openvr.VRSystem()
        driver = vr_sys.getStringTrackedDeviceProperty(
            openvr.k_unTrackedDeviceIndex_Hmd,
            openvr.Prop_TrackingSystemName_String,
        )
        display = vr_sys.getStringTrackedDeviceProperty(
            openvr.k_unTrackedDeviceIndex_Hmd,
            openvr.Prop_SerialNumber_String,
        )
        glfw.set_window_title(self.window, f'hello_vr -- {driver} {display}')
        self.b_init_gl()
        assert openvr.VRCompositor()
        action_path = pkg_resources.resource_filename('samples', 'hellovr_actions.json')
        openvr.VRInput().setActionManifestPath(action_path)
        self.action_hide_cubes = openvr.VRInput().getActionHandle('/actions/demo/in/HideCubes')
        self.action_hide_this_controller = openvr.VRInput().getActionHandle('/actions/demo/in/HideThisController')
        self.action_trigger_haptic = openvr.VRInput().getActionHandle('/actions/demo/in/TriggerHaptic')
        self.action_analog_input = openvr.VRInput().getActionHandle('/actions/demo/in/AnalogInput')
        self.action_set_demo = openvr.VRInput().getActionSetHandle('/actions/demo')
        self.hand[Left].action_haptic = openvr.VRInput().getActionHandle('/actions/demo/out/Haptic_Left')
        self.hand[Left].source = openvr.VRInput().getInputSourceHandle('/user/hand/left')
        self.hand[Left].action_pose = openvr.VRInput().getActionHandle('/actions/demo/in/Hand_Left')
        self.hand[Right].action_haptic = openvr.VRInput().getActionHandle('/actions/demo/out/Haptic_Right')
        self.hand[Right].source = openvr.VRInput().getInputSourceHandle('/user/hand/right')
        self.hand[Right].action_pose = openvr.VRInput().getActionHandle('/actions/demo/in/Hand_Right')
        return True 
開發者ID:cmbruns,項目名稱:pyopenvr,代碼行數:37,代碼來源:hellovr_glfw.py

示例5: __init__

# 需要導入模塊: import glfw [as 別名]
# 或者: from glfw import set_key_callback [as 別名]
def __init__(self, **kwargs):
        super().__init__(**kwargs)

        if not glfw.init():
            raise ValueError("Failed to initialize glfw")

        # Configure the OpenGL context
        glfw.window_hint(glfw.CONTEXT_CREATION_API, glfw.NATIVE_CONTEXT_API)
        glfw.window_hint(glfw.CLIENT_API, glfw.OPENGL_API)
        glfw.window_hint(glfw.CONTEXT_VERSION_MAJOR, self.gl_version[0])
        glfw.window_hint(glfw.CONTEXT_VERSION_MINOR, self.gl_version[1])
        glfw.window_hint(glfw.OPENGL_PROFILE, glfw.OPENGL_CORE_PROFILE)
        glfw.window_hint(glfw.OPENGL_FORWARD_COMPAT, True)
        glfw.window_hint(glfw.RESIZABLE, self.resizable)
        glfw.window_hint(glfw.DOUBLEBUFFER, True)
        glfw.window_hint(glfw.DEPTH_BITS, 24)
        glfw.window_hint(glfw.SAMPLES, self.samples)

        monitor = None
        if self.fullscreen:
            monitor = glfw.get_primary_monitor()
            mode = glfw.get_video_mode(monitor)
            self._width, self._height = mode.size.width, mode.size.height

            glfw.window_hint(glfw.RED_BITS, mode.bits.red)
            glfw.window_hint(glfw.GREEN_BITS, mode.bits.green)
            glfw.window_hint(glfw.BLUE_BITS, mode.bits.blue)
            glfw.window_hint(glfw.REFRESH_RATE, mode.refresh_rate)

        self._window = glfw.create_window(self.width, self.height, self.title, monitor, None)
        self._has_focus = True

        if not self._window:
            glfw.terminate()
            raise ValueError("Failed to create window")

        self.cursor = self._cursor

        self._buffer_width, self._buffer_height = glfw.get_framebuffer_size(self._window)
        glfw.make_context_current(self._window)

        if self.vsync:
            glfw.swap_interval(1)
        else:
            glfw.swap_interval(0)

        glfw.set_key_callback(self._window, self.glfw_key_event_callback)
        glfw.set_cursor_pos_callback(self._window, self.glfw_mouse_event_callback)
        glfw.set_mouse_button_callback(self._window, self.glfw_mouse_button_callback)
        glfw.set_scroll_callback(self._window, self.glfw_mouse_scroll_callback)
        glfw.set_window_size_callback(self._window, self.glfw_window_resize_callback)
        glfw.set_char_callback(self._window, self.glfw_char_callback)
        glfw.set_window_focus_callback(self._window, self.glfw_window_focus)
        glfw.set_cursor_enter_callback(self._window, self.glfw_cursor_enter)
        glfw.set_window_iconify_callback(self._window, self.glfw_window_iconify)

        self.init_mgl_context()
        self.set_default_viewport() 
開發者ID:moderngl,項目名稱:moderngl-window,代碼行數:60,代碼來源:window.py


注:本文中的glfw.set_key_callback方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。