5 个仓库
Input controllers that automatically switch between keyboard and touch controls based on the detected device type.
Distinct from Controller Input Mappers: Distinct from Controller Input Mappers: focuses on automatic device detection and switching, not manual mapping of inputs to emulator actions.
Explore 5 awesome GitHub repositories matching part of an awesome list · Device-Aware Input Switching. Refine with filters or upvote what's useful.
This is a browser-based Tetris game built with React, using Redux and Immutable.js to manage all game state in a single immutable store. The application renders the game board, next-block preview, and score display as React components, with state transitions that are predictable and support time-travel debugging through the Redux DevTools Extension. The game distinguishes itself through several integrated capabilities. It automatically adapts between keyboard and touch controls based on the user's input device, with configurable repeat rates for responsive gameplay. A persistence layer serial
Automatically switches between keyboard and touch controls based on the user's input device.
OpenVR is a software development kit and runtime that provides a unified API for accessing virtual reality hardware from multiple manufacturers. It abstracts vendor-specific headsets, controllers, and tracking systems into a common interface, enabling applications to work across different VR devices without requiring hardware-specific code. The SDK handles core VR operations including stereoscopic frame submission to a compositor, headset and controller tracking, and input binding that maps abstract application actions to physical device controls. The runtime is built around a modular driver
Exposes VR controller inputs like buttons and triggers through a dedicated driver input API.
AmplitudeJS 是一个用于构建自定义 HTML5 音频播放器的 JavaScript 库和框架。它作为一个客户端播放列表管理器和媒体控制器,弥合了 HTML 元素与 Web Audio API 之间的差距,允许开发人员创建品牌化的媒体界面,而无需依赖默认的浏览器样式。 该项目的特色在于使用基于 CSS 类的 DOM 绑定和数据属性状态映射,将 HTML 元素直接链接到播放控制和轨道元数据。它包含一个专用可视化系统,使用 Web Audio API 根据音频频率数据渲染实时 SVG 波形和特定歌曲的视觉效果。 该库提供了全面的媒体库管理功能,包括播放列表排序、随机和重复逻辑以及元数据填充。它处理音量管理、播放速度调整和时间戳跳转等播放控制,同时提供事件驱动的回调系统,以将用户界面更改与特定的播放里程碑同步。 该框架进一步支持用于键盘快捷键的外部输入映射,并包括设备感知事件切换,以优化移动触摸屏的交互。
Detects user agents to switch between click and touch event listeners for mobile compatibility.
flutter-folio 是一个参考应用程序和作品集,展示了如何实现单一代码库,从而在移动、桌面和 Web 平台上提供原生用户体验。它作为跨平台 UI 框架和设计模式的展示,目标平台包括 iOS、Android、macOS、Windows、Linux 和 Web 浏览器。 该项目专注于自适应 UI 设计,提供了如何根据屏幕尺寸和输入设备自动调整布局和交互模式的示例。它展示了如何将共享的应用程序逻辑映射到特定平台的习惯用法,以满足不同操作系统的期望。 该实现涵盖了通过响应式断点逻辑和输入感知布局进行的跨平台 UX 优化。它展示了如何使用统一的渲染引擎在不同的硬件环境中保持一致的用户体验。
Implements automatic interface switching based on the detected input device type.
Karabiner is a system-level keyboard remapper and input modifier for macOS. It functions as a kernel-level interceptor that modifies raw hardware events before they reach the operating system, utilizing a virtual hardware device to inject synthesized keyboard and mouse actions. The project distinguishes itself as a context-aware input manager, applying modification rules dynamically based on the active application, connected hardware, or current input source. It serves as a keyboard macro engine capable of automating multi-key shortcuts and conditional behaviors. Its broader capabilities inc
Applies input modifications conditionally based on the active application, connected device, or input source.