atatusoft-ltd / php-key-listener
一个基于PHP的API,用于捕获终端中的按键。
0.2.1
2023-03-09 08:26 UTC
Requires
- php: >=8.2
- ext-json: *
- ext-readline: *
- symfony/event-dispatcher: ^6.2
Requires (Dev)
- codeception/codeception: ^5.0
This package is auto-updated.
Last update: 2024-09-09 11:32:39 UTC
README
基于PHP的命令行按键监听器。

这个库提供了一个API来捕获终端中的按键。目前它支持拉丁基本字符范围,例如方向键、功能键(F*)、回车、空格、插入、删除、退格、Esc、a-z等。
安装
您可以选择下载此库的zip文件,或者通过composer简单地安装它
composer require atatusoft-ltd/php-key-listener
限制
由于Windows PHP版本不支持readline扩展,因此此包只能在UNIX/Linux基于的系统上工作。
示例
捕获所有按键
use \Atatusoft\PhpKeyListener\Events\KeyPressEvent; use \Atatusoft\PhpKeyListener\Environment\Detector; $detect = new Detector(); $listener = $detect->getListenerInstance(); $eventDispatcher = $listener->getEventDispatcher(); $eventDispatcher->addListener('key:press', function(KeyPressEvent $event) { echo $event->getKey(), PHP_EOL; }); $eventDispatcher->addListener('key:enter', function(KeyPressEvent $event) use ($eventDispatcher) { echo 'Key "', $event->getKey(), '" was pressed. Quitting listener.', PHP_EOL; // notify the listener to stop $eventDispatcher->dispatch('key:stop:listening'); }); $listener->start();
许可证
MIT许可证。