5 مستودعات
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.
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.
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.
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.
interact.js هي مكتبة تفاعل JavaScript تستخدم لتنفيذ السحب والإفلات، وتغيير الحجم، وإيماءات اللمس المتعدد داخل متصفحات الويب. توفر إطار عمل تفاعل متخصص للرسومات المتجهة القابلة للتطوير، مما يسمح بتحريك هذه العناصر وتغيير حجمها. تتميز المكتبة بمحرك إيماءات لمس متعدد يتعرف على أنماط معقدة مثل القرص والتدوير، ومحرك التقاط إحداثيات لمحاذاة العناصر مع الشبكات أو تقييد الحركة داخل الحدود. تتضمن أيضاً مزامناً لحالة الإطار المتقاطع لمشاركة حالات التفاعل وأحداث الإدخال عبر نوافذ متصفح متعددة أو إطارات مضمنة. يغطي المشروع مجالات قدرة واسعة بما في ذلك فيزياء الحركة لحسابات السرعة القائمة على القصور الذاتي وتطبيع الإدخال لتوحيد أحداث الماوس واللمس عبر المتصفحات. تشمل الوظائف الإضافية تتبع الحالة القائم على الإحداثيات والتقاط الكمي لمحاذاة المواضع والأحجام مع فترات زمنية محددة مسبقاً.
Unifies disparate mouse and touch pointer events into a consistent coordinate stream for cross-browser compatibility.
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.