mirror of
https://github.com/kou029w/pucchinglgl.git
synced 2025-01-31 06:18:05 +00:00
19 lines
563 B
TypeScript
19 lines
563 B
TypeScript
|
/**
|
||
|
* キーボードの位置を返します
|
||
|
* @param layout 対応するレイアウト。空白 ` ` 区切りの文字列の配列
|
||
|
* @param key 入力。プロパティ `KeyboardEvent.key`
|
||
|
* @return 位置を配列 `[x, y]` で返します。見つからない場合、空 `[]`
|
||
|
*/
|
||
|
function keyPosition(
|
||
|
layout: readonly string[],
|
||
|
key: string
|
||
|
): [number, number] | [] {
|
||
|
const [x, y] = layout
|
||
|
.map((row) => row.split(" ").indexOf(key))
|
||
|
.flatMap((x, y) => (x >= 0 ? [x, y] : []));
|
||
|
|
||
|
return x >= 0 ? [x, y] : [];
|
||
|
}
|
||
|
|
||
|
export default keyPosition;
|