【Unity】【C#】KeyCode をリアルタイムで調べる / Windows 日本語キーボードでの記号の KeyCode 一覧 
2019/07/20 Sat [edit]
以前「Windows日本語キーボードでのKeyCodeにはバグがある」みたいな記事を見たことがあったが、Unity4 時代の頃からなので、単純にキーボードによる違いと考えて、改めて確認した。特に記号の KeyCode が公式マニュアルとは少し違うので、簡単な一覧表としてまとめてみた。
・[Unity]KeyCodeについて
(※) Unity 2018.4.4f1 / Windows10 (x64) で確認
■Windows 日本語キーボードでの記号の KeyCode 一覧
基本的には公式マニュアルで十分なので、ここでは記号のみで、日本語キーボードでは見た目が違うものがわかるように挙げておこう。ショートカットキーみたいなものを作るときに、ちょっと困ったりするんだよね(笑)。
・KeyCode(公式マニュアル)
●Windows 日本語キーボードでの記号の KeyCode 一覧
キー | KeyCode | 備考 |
---|---|---|
- | Minus | |
^ | Quote | キャレット |
¥ | Backslash | 右[Shift]隣の[\_ろ]と同じになる。 |
[ | LeftBracket | |
] | RightBracket | |
@ | BackQuote | アットマーク |
; | Equals | セミコロン |
: | Semicolon | コロン |
, | Comma | カンマ(コンマ) |
. | Period | ピリオド(ドット, ポイント) |
/ | Slash | スラッシュ |
\ | Backslash | バックスラッシュ。[Backspace]隣の[¥|]と同じになる。 |
Clear | Delete | テンキー[Clear]。[Delete]と同じになる。 |
PrtScn | SysReq | Print Screen |
Menu | Menu | 右[Ctrl]隣のメニューキー |
Windowsキー | LeftCommand | Windowsアイコンのキー |
※[Shift]キーを押さない状態。
※テンキー(Keypad~)は公式マニュアルとほぼ変わらないので割愛([Clear]のみ)。
■KeyCode をリアルタイムで調べるコード
●KeyCode をリアルタイムで調べる
using System;
using System.Linq;
using UnityEngine;
public class KeycodeTest : MonoBehaviour { //※クラス名は任意
KeyCode[] keyCodes = Enum.GetValues(typeof(KeyCode)).Cast<KeyCode>().ToArray();
// Update is called once per frame
private void Update () {
if (Input.anyKeyDown) //※KeyDown のみ
{
foreach (var key in keyCodes)
{
if (Input.GetKeyDown(key))
{
Debug.Log(key);
break;
}
}
}
}
}
内容的には KeyCode の列挙型の一覧(※Array 型)を何らかのキーが押された時(Input.anyKeyDown)に調べているだけだ。ここでは KeyDown (押下した瞬間)を使っているので、押してる間ずっとにしたいなら Input.GetKey を使っても良いだろう。
Unity の場合、記号は使っているキーボードによって値が変わる可能性があるから(Mac 上では大丈夫と記事にあるが)、あまり使わない方が良いのかもね(笑)。
・Array Class
・Enum.GetValues(Type) Method
・Input.anyKeyDown
・Input.GetKey
(関連記事)
【Unity】【C#】InputSystem.Key をリアルタイムで調べる / Windows 日本語キーボードでの Key 一覧
【Unity】【C#】(旧)KeyCode と InputSystem.Key の対応
【Unity】5ボタンマウスの KeyCode 図解
【Unity】【C#】ゲームパッドの右スティックを使えるようにする
【C#】【Unity】enum 型と string, int 型の相互変換など
- 関連記事
トラックバック
トラックバックURL
→http://fantom1x.blog130.fc2.com/tb.php/326-2b1b0ac5
この記事にトラックバックする(FC2ブログユーザー)
| h o m e |