25 个仓库
Utilities for managing keyboard shortcuts and focus areas.
Explore 25 awesome GitHub repositories matching part of an awesome list · Keyboard Input. Refine with filters or upvote what's useful.
ImmersionBar is a set of control utilities for Android designed to manage immersive display modes, notch-aware layouts, virtual keyboard visibility, and system bar aesthetics. It provides a centralized way to maximize screen real estate by toggling full-screen displays and controlling the behavior of status and navigation bars. The library distinguishes itself through specialized adaptation for hardware cutouts and notches, calculating precise offsets and window insets to prevent user interface elements from being obscured. It also includes a dedicated handler for soft keyboard management, wh
Adjusts the view frame automatically when the keyboard appears to ensure text input fields remain visible.
This is a bottom sheet component library for React Native that provides gesture-driven panels sliding up from the bottom of the screen. The library is built around configurable snap points, dynamic sizing, keyboard awareness, modal presentation, and synchronized scrolling, with native driver animation offloaded to the native thread for smooth performance. The library distinguishes itself through deep gesture and animation control, including custom gesture handler overrides, scroll-gesture synchronization, and dynamic snap point recalculation when content size or keyboard visibility changes. I
Provides a text input that adjusts the sheet position when the keyboard appears.
Florisboard is an open-source virtual keyboard and input method editor for Android devices. It functions as an extensible framework for mobile text input, providing a privacy-focused alternative for typing and emoji insertion. The project is distinguished by a comprehensive theme engine that allows users to modify fonts, colors, and background images via stylesheets. It supports the creation, packaging, and distribution of custom visual themes and behavioral extensions. The keyboard includes integrated productivity tools such as clipboard history management and tactile haptic feedback to sim
Feature-rich, privacy-focused keyboard with theme support.
hotkeys-js is a JavaScript keyboard shortcut library and event manager used to map key combinations to callback functions within web applications. It serves as an input shortcut orchestrator that captures and filters keyboard events to execute custom actions. The library distinguishes itself through shortcut scope management, allowing shortcuts to be organized into named groups. These scopes can be toggled to prevent command conflicts across different application states. The system covers keyboard shortcut binding and unbinding, real-time key state querying, and input event filtering to prev
Detects real-time key states and filters input events to prevent shortcuts from triggering inside text fields.
Keymaster is a keyboard shortcut library for web applications that provides utilities for intercepting keyboard events and mapping key combinations to handler functions. It includes a keyboard event manager and a key state tracker to monitor and query which keys or modifiers are currently held down. The library features a scoped input handler that allows shortcuts to be grouped into named contexts. This enables the application to switch between different sets of available actions depending on the active area of the interface. The system includes input filtering to prevent global shortcuts fr
Filters keyboard events to ensure global shortcuts do not fire while the user is typing in input fields.
Zed is a terminal-based code editor built in Rust that provides a full-featured editing experience with familiar keybindings, mouse support, and multiple cursors. It runs entirely in the terminal while offering capabilities typically found in graphical editors, including split panes, a command palette, and integrated language server protocol support for real-time diagnostics, completions, go-to-definition, and code actions across multiple languages. The editor distinguishes itself through a plugin system that runs sandboxed TypeScript plugins in a QuickJS runtime, with an asynchronous bridge
Zed displays raw key events sent by the terminal to help diagnose why certain bindings are not working.
TPKeyboardAvoiding is a drop-in iOS library that automatically adjusts scroll views to keep text fields visible when the keyboard appears. It provides a UIView subclass that can replace existing scroll views without modifying existing code or delegates, making it straightforward to integrate into UIKit-based form interfaces. The library handles keyboard avoidance by monitoring keyboard notifications and synchronizing frame animations with the keyboard's appearance and disappearance. It also adds an input accessory toolbar with "Next" and "Done" buttons to the keyboard, enabling field navigati
A drop-in solution that automatically adjusts scroll views to keep text fields visible when the keyboard appears in iOS apps.
HeliBoard 是一个可定制的 Android 键盘,提供离线预测文本和以隐私为中心的虚拟界面。它完全在没有互联网权限的情况下运行,以确保所有按键和用户数据保留在设备上。 该键盘具有基于手势的滑动输入功能,并允许集成外部词典以改进自动更正和符号搜索。它支持多语言同时输入,使用户能够在单次会话中输入多种语言。 用户可以通过可编辑的文本文件布局配置以及修改视觉主题和调色板的系统来个性化体验。该工具集包括用于存储和检索文本片段的剪贴板管理器、用于用户词汇历史的本地备份系统,以及用于单手或拆分键盘格式的切换开关。
Privacy-friendly keyboard with extensive customization options.
该项目提供了组件封装器和管理器,可自动同步软键盘可见性与活动输入元素的滚动位置。它是一个跨平台移动端键盘感知滚动视图,旨在保持活动文本输入框在软键盘上方可见。 该库作为一个键盘感知组件封装器,检测软键盘事件以防止输入框被遮挡。它利用自动输入焦点滚动器来计算必要的滚动位置,并保持对活动光标的聚焦。 该系统通过自动视图调整和聚焦输入滚动,涵盖了移动端 UI 输入处理和表单布局。它结合了键盘事件监听器来触发布局更改,并以编程方式将视图位置移动到聚焦的文本字段。
Implements scrollable containers that automatically adjust content insets to prevent the keyboard from obscuring active inputs.
Fcitx5 Android is an input method manager that brings the Fcitx5 framework to Android, enabling multilingual text input through a customizable virtual keyboard. It functions as a platform for loading plugin-based input engines, supports conversion between simplified and traditional Chinese characters, and provides a theme engine for dynamically altering the keyboard's appearance with custom colors, images, and popup previews. The project is built around a native C++ core that handles dictionary lookups and text processing, connected to the Android interface via a JNI bridge for performance. I
Input method framework supporting multiple languages and layouts.
Notcurses is a terminal graphics engine and TUI library that renders high-fidelity images, video, and rich Unicode graphics directly in terminal emulators. At its core, it provides a layered framebuffer system that composes overlapping planes with independent depth and opacity, enabling complex visual scenes. The library also includes a terminal input processor for capturing and decoding keyboard and mouse events, a data visualization toolkit for histograms and line plots, a multimedia terminal player for images and video, and a TUI widget framework with reusable interface components. The lib
Reads and decodes keyboard input events for interactive terminal applications.
该项目是一个综合性的 iOS 应用开发框架,专注于构建具有自定义用户界面组件、异步任务管理和本地数据持久化的移动应用。它作为软件工程的技术知识库,提供用于以 Markdown 格式组织和发布架构分析与笔记的工具。 该框架通过一个强大的基于文档的存储层脱颖而出,该层利用 BSON 格式的记录在 NoSQL 文档存储中执行 CRUD 操作。它提供广泛的系统集成功能,包括专门的应用扩展通信、跨沙盒消息传递和原生共享表单呈现,从而允许宿主应用与系统级服务之间的无缝交互。 该项目涵盖了广泛的功能面,包括具有线程安全同步的高级并发管理、卸载到后台的 UI 渲染以保持响应性,以及全面的国际化支持。它还包括面向开发者的工具,用于静态类型生成、自动化资源映射和交互式原型构建,以及用于地理信标监控和自适应图表生成的专门工具。
Adjusts view frames automatically when the keyboard appears to prevent input field occlusion.
Panelkit is an iOS panel UI framework and multi-panel layout engine designed to create and manage floating, pinned, and modal content panels within applications. It functions as a floating window manager and interface orchestrator, handling the positioning, dragging, and resizing of independent user interface windows on mobile screens. The framework supports dynamic UI composition, allowing content to be rendered in multiple presentation styles such as popovers or pinned sidebars. It includes a state-persistence layout engine that saves and restores window coordinates and dimensions to mainta
Prevents keyboard occlusion by automatically adjusting the view frame when an input keyboard appears.
This is a keyboard interaction library and manager for React Native that provides smooth animations, gesture-based dismissal, and event tracking. It serves as a cross-platform keyboard event bus, ensuring consistent keyboard show and hide behavior between iOS and Android. The project features an interactive animation driver that links native keyboard frame events directly to animated values to bypass bridge round-trips. It enables interactive keyboard dismissal via swipe gestures and includes a keyboard preloading system to eliminate first-show latency and input lag. The library provides com
Implements a scroll view that automatically adjusts its content and insets to keep active text inputs visible.
React hotkeys is a keyboard shortcut manager designed for declaring, scoping, and handling keyboard shortcuts and focus areas in React applications. It allows developers to define declarative shortcuts by binding key combinations or sequences to action names and handler functions, enabling components to respond predictably to user input. The library provides distinct mechanisms for managing how keyboard events interact with the document. It supports scoping hotkeys to specific component subtrees and DOM descendants to match natural browser focus behavior, alongside global key event handling t
Ignores or forces observation of key events originating from specific sections of the application.
Declarative hotkey and focus area management for React
Declarative hotkey and focus management.
Minimalist keyboard focused on speed and privacy.
A privacy-conscious keyboard made for your thumbs Report Bug · Request Feature · Releases
Ergonomic keyboard layout designed for one-handed typing.
Easy keyboard for inserting all kinds of texts, special characters and numbers.
Simple and privacy-focused open-source keyboard.
LeanType is an Open-source keyboard, fork of HeliBoard with additional features and customisation
Lightweight keyboard based on existing open-source projects.