atatusoft-ltd/php-key-listener

一个基于PHP的API,用于捕获终端中的按键。

0.2.1 2023-03-09 08:26 UTC

This package is auto-updated.

Last update: 2024-09-09 11:32:39 UTC


README

基于PHP的命令行按键监听器。

Example

这个库提供了一个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许可证。