mirror of
https://github.com/kou029w/pucchinglgl.git
synced 2025-01-31 06:18:05 +00:00
18 lines
563 B
TypeScript
18 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;
|