awesome-repositories.com
博客
awesome-repositories.com

通过 AI 驱动的搜索,发现最优秀的开源仓库。

探索精选搜索开源替代品自托管软件博客网站地图
项目关于排名机制媒体报道MCP 服务器
法律隐私政策服务条款
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
·

5 个仓库

Awesome GitHub RepositoriesInput Normalization Utilities

Tools that translate disparate pointer, mouse, and touch events into a unified stream of interaction data.

Distinguishing note: Focuses on unifying disparate input event types into a single stream.

Explore 5 awesome GitHub repositories matching user interface & experience · Input Normalization Utilities. Refine with filters or upvote what's useful.

Awesome Input Normalization Utilities GitHub Repositories

用 AI 发现最棒的仓库。我们将通过 AI 为您搜索最匹配的仓库。
  • hammerjs/hammer.jshammerjs 的头像

    hammerjs/hammer.js

    24,356在 GitHub 上查看↗

    Hammer.js is a library for recognizing touch gestures in web applications. It functions as a unified interface that translates raw pointer, mouse, and touch inputs into a consistent stream of interaction data, allowing developers to detect patterns such as taps, swipes, and pans across different browsers and hardware. The library distinguishes itself through a modular architecture that uses configurable logic blocks to evaluate input streams against specific mathematical thresholds. It maintains an internal registry of active touch points to track complex multi-finger movements like pinching

    Translates disparate pointer, mouse, and touch events into a unified stream of interaction data for consistent gesture processing.

    JavaScript
    在 GitHub 上查看↗24,356
  • clauderic/dnd-kitclauderic 的头像

    clauderic/dnd-kit

    17,243在 GitHub 上查看↗

    This project is a modular toolkit for building accessible, component-based drag-and-drop interfaces in React. It provides a foundational framework for managing complex spatial interactions, state synchronization, and element registration, allowing developers to create interactive web applications that support mouse, touch, and keyboard inputs. The library distinguishes itself through a highly extensible architecture that separates input handling from interaction logic. It utilizes a sensor-based input abstraction to normalize diverse user interactions and a plugin-driven lifecycle to inject c

    Normalizes mouse, touch, and keyboard events into a unified stream of interaction commands.

    TypeScriptdragdrag-and-dropdraggable
    在 GitHub 上查看↗17,243
  • darkroomengineering/lenisdarkroomengineering 的头像

    darkroomengineering/lenis

    13,217在 GitHub 上查看↗

    Lenis is a lightweight JavaScript library designed to provide fluid, momentum-based scrolling experiences for web interfaces. It functions as a frontend utility that decouples visual scroll position from the browser's native state, allowing for custom easing and duration while preserving standard browser accessibility, search functionality, and layout measurement tools. The library distinguishes itself by normalizing input from mouse wheels and touch gestures into a unified stream, ensuring consistent physics across different devices. It operates by intercepting native scroll events and apply

    Normalizes mouse wheel and touch gestures into a unified stream for consistent interaction physics.

    TypeScriptperformancereactscroll
    在 GitHub 上查看↗13,217
  • taye/interact.jstaye 的头像

    taye/interact.js

    12,913在 GitHub 上查看↗

    interact.js 是一个 JavaScript 交互库,用于在 Web 浏览器中实现拖放、调整大小和多点触控手势。它为可缩放矢量图形(SVG)提供了一个专门的交互框架,允许移动和调整这些元素的大小。 该库具有一个多点触控手势引擎,可识别捏合和旋转等复杂模式,以及一个用于将元素对齐到网格或限制在边界内移动的坐标吸附引擎。它还包括一个跨帧状态同步器,用于在多个浏览器窗口或嵌入式帧之间共享交互状态和输入事件。 该项目涵盖了广泛的能力领域,包括用于基于惯性的速度计算的运动物理学,以及用于统一跨浏览器鼠标和触摸事件的输入归一化。附加功能包括基于坐标的状态跟踪和用于将位置和大小对齐到预定义间隔的量化吸附。

    Unifies disparate mouse and touch pointer events into a consistent coordinate stream for cross-browser compatibility.

    TypeScript
    在 GitHub 上查看↗12,913
  • gdamore/tcellgdamore 的头像

    gdamore/tcell

    5,076在 GitHub 上查看↗

    tcell is a Go terminal user interface library and framework for building cell-based applications. It functions as a terminal emulator backend and input processor, utilizing a change-based diffing engine to manage screen state and efficiently render updates. The project is distinguished by its pluggable backend abstraction, which allows terminal interfaces to be rendered across physical terminals or compiled into WebAssembly for web browser display. It provides a virtual screen simulation to enable programmatic event injection and output inspection for automated application testing. Its capab

    Normalizes mouse button reporting across different operating systems to ensure consistent event identification.

    Go
    在 GitHub 上查看↗5,076
  1. Home
  2. User Interface & Experience
  3. Input Normalization Utilities