{"_id":"@akashic-extension/akashic-keyboard-plugin","_rev":"2-a4b733a60e3ab2bd2243266d188c283c","name":"@akashic-extension/akashic-keyboard-plugin","dist-tags":{"latest":"1.0.0"},"versions":{"1.0.0":{"name":"@akashic-extension/akashic-keyboard-plugin","version":"1.0.0","author":{"name":"DWANGO Co., Ltd."},"license":"MIT","_id":"@akashic-extension/akashic-keyboard-plugin@1.0.0","maintainers":[{"name":"akashic-extension-owner","email":"akashic@dwango.co.jp"},{"name":"yu-ogi","email":"yusuke_ogiwara@dwango.co.jp"},{"name":"xtity","email":"kousuke.sima@gmail.com"},{"name":"kmkr01","email":"charonda.sasakia@gmail.com"},{"name":"akashic-owner","email":"akashic@dwango.co.jp"}],"homepage":"https://github.com/akashic-games/akashic-keyboard-plugin#readme","bugs":{"url":"https://github.com/akashic-games/akashic-keyboard-plugin/issues"},"dist":{"shasum":"2df42e807e267c4ee85ce947f2cdcb010b263b82","tarball":"https://registry.npmjs.org/@akashic-extension/akashic-keyboard-plugin/-/akashic-keyboard-plugin-1.0.0.tgz","fileCount":7,"integrity":"sha512-0tb+TxyARS7vzbLJuTZyZt4ODdfacJmfdcQZMge7/vmqQgrNl0e7thEySJxoLRxvdnXdwukdJquPEUYrkRdOXQ==","signatures":[{"sig":"MEYCIQDixCxBI9OukbUm7RZyIbuN2+Y9sia+efq95eYIAExVFQIhAOlIOkC5alLdV3PhLJCA3gGWcH6TwgBkd1Tp95e2wQIu","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":8929},"main":"lib/index.js","types":"./lib/index.d.ts","gitHead":"f391123c4cdd608402c74933d8215b5360f9c8ce","scripts":{"lint":"eslint \"src/**/*.ts\" --fix","test":"npm run lint","build":"tsc","prepare":"rimraf lib && npm run build"},"_npmUser":{"name":"akashic-owner","email":"akashic@dwango.co.jp"},"repository":{"url":"git+https://github.com/akashic-games/akashic-keyboard-plugin.git","type":"git"},"_npmVersion":"9.8.1","description":"A plugin handling keyboard events easily for Akashic Engine","directories":{},"_nodeVersion":"18.18.2","publishConfig":{"@akashic-extension:registry":"https://registry.npmjs.org/"},"_hasShrinkwrap":false,"devDependencies":{"eslint":"^8.54.0","rimraf":"^5.0.5","eslint-plugin-jest":"^27.6.0","eslint-plugin-import":"^2.29.0","@akashic/eslint-config":"^2.0.0","@akashic/akashic-engine":"~3.16.1","@typescript-eslint/eslint-plugin":"^6.12.0"},"_npmOperationalInternal":{"tmp":"tmp/akashic-keyboard-plugin_1.0.0_1701918677830_0.3996721752491692","host":"s3://npm-registry-packages"}}},"time":{"created":"2023-12-07T03:11:17.718Z","modified":"2025-10-08T10:36:09.887Z","1.0.0":"2023-12-07T03:11:18.002Z"},"bugs":{"url":"https://github.com/akashic-games/akashic-keyboard-plugin/issues"},"author":{"name":"DWANGO Co., Ltd."},"license":"MIT","homepage":"https://github.com/akashic-games/akashic-keyboard-plugin#readme","repository":{"url":"git+https://github.com/akashic-games/akashic-keyboard-plugin.git","type":"git"},"description":"A plugin handling keyboard events easily for Akashic Engine","maintainers":[{"email":"akashic@dwango.co.jp","name":"akashic-extension-owner"},{"email":"akashic@dwango.co.jp","name":"akashic-owner"}],"readme":"# akashic-keyboard-plugin\n\n<p align=\"center\">\n<img src=\"https://github.com/akashic-games/akashic-keyboard-plugin/blob/main/img/akashic.png\"/>\n</p>\n\n**akashic-keyboard-plugin** は、キーボード入力を取り扱うためのakashicゲーム向け操作プラグインです。\n\n実装例は [サンプル](./sample) ディレクトリ以下にあるサンプルプロジェクトを参照してください。\n\n## 利用方法\n\n### インストール\n\n[akashic-cli](https://github.com/akashic-games/akashic-cli)をインストールした後、\n\n```sh\nakashic install @akashic-extension/akashic-keyboard-plugin\n```\n\nでインストールできます。\n\n### コンテンツへの適用\n\nakashic-keyboard-plugin は、akashicゲームの操作プラグインです。\n\n本プラグインをコンテンツへ登録し利用するには `g.OperationPluginManager#register() `を利用します。\n`g.OperationPluginManager#register()` の第一引数にはプラグインのコンストラクタ、第二引数には識別コードを指定する必要があります。\n識別コードは対象のプラグインを開始/停止する操作に必要となります。\n\n```javascript\nconst { KeyboardOperationPlugin } = require(\"@akashic-extension/akashic-keyboard-plugin\");\n...\ng.game.operationPluginManager.register(KeyboardOperationPlugin, 1); // プラグインを識別コード 1 で 登録\ng.game.operationPluginManager.start(1); // プラグインを開始\n...\n\ng.game.operationPluginManager.stop(1) // プラグインを停止\n```\n\n## 仕様\n\n### data\n\nakashic-keyboard-plugin は、DOM の keydown, keyup の各イベントを契機に `g.OperationEvent` を生成してゲームに通知します。\nakashic-keyboard-plugin が通知する `g.OperationEvent#data` は、次の名前のプロパティと対応する値を持つオブジェクトです。\n\n- type\n  - 文字列\n  - \"keydown\", \"keyup\" のいずれか\n- code\n- shiftKey\n- altKey\n- ctrlKey\n- metaKey\n  - それぞれ KeyboardEvent の同名のプロパティ\n  - 詳細は https://developer.mozilla.org/ja/docs/Web/API/KeyboardEvent などを参照してください\n\n## ビルド方法\n\n**akashic-keyboard-plugin** はTypeScriptで書かれたjsモジュールであるため、ビルドにはNode.jsが必要です。\n\n`npm run build` によりビルドできます。\n\n```sh\nnpm install\nnpm run build\n```\n\n## テスト方法\n\n```sh\nnpm test\n```\n\n## ライセンス\n本リポジトリは MIT License の元で公開されています。\n詳しくは [LICENSE](https://github.com/akashic-games/akashic-keyboard-plugin/blob/main/LICENSE) をご覧ください。\n\nただし、画像ファイルおよび音声ファイルは\n[CC BY 2.1 JP](https://creativecommons.org/licenses/by/2.1/jp/) の元で公開されています。\n","readmeFilename":"README.md"}