修飾キーと特殊キー

修飾キーと特殊キー

説明

引数として印刷可能なASCII文字が与えられたときは、Keyboard.write()Keyboard.press()Keyboard.release()は、対応するキーの動作をシミュレートする。これらの関数はShiftキーや、国際キーボードでのAltGrキーなどと同時に押す動作も扱うことができる。例えば、

1
2
Keyboard.write('a');  // press and release the 'A' key
Keyboard.write('A');  // press Shift and 'A', then release both

しかし、典型的なキーボードには印刷可能なASCII文字ではないキーが多くある。これらのキーをシミュレートするために、このライブラリは、Keyboard.write()Keyboard.press()Keyboard.release()に渡すことができるマクロを提供している。例えば、Shift+F2のキーの組み合わせは、以下のコードで生成することができる。

1
2
3
Keyboard.press(KEY_LEFT_SHIFT);  // press and hold Shift
Keyboard.press(KEY_F2);          // press and hold F2
Keyboard.releaseAll();           // release both

複数のキーを同時に押すには、Keyboard.write()ではなくKeyboard.press()を使う必要があることに注意すること。前者は単にキーを押してすぐに離すだけである。

利用可能なマクロを以下に示す。

修飾キー

これらのキーは、同時に押すことで、他のキーの通常動作を変更する。

キー 16進表記 10進表記 注意
KEY_LEFT_CTRL 0x80 128
KEY_LEFT_SHIFT 0x81 129
KEY_LEFT_ALT 0x82 130 MacではOption (⌥)
KEY_LEFT_GUI 0x83 131 MacではOS logo, Command (⌘)
KEY_RIGHT_CTRL 0x84 132
KEY_RIGHT_SHIFT 0x85 133
KEY_RIGHT_ALT 0x86 134 MacではAltGr, Option (⌥)
KEY_RIGHT_GUI 0x87 135 MacではOS logo, Command (⌘)

特殊キー

これらは、印刷可能なASCII文字ではなく修飾キーでもない。

英数字群内にあるキー

キー 16進表記 10進表記
KEY_TAB 0xB3 179
KEY_CAPS_LOCK 0xC1 193
KEY_BACKSPACE 0xB2 178
KEY_RETURN 0xB0 176
KEY_MENU 0xED 237

ナビゲーション群内にあるキー

キー 16進表記 10進表記
KEY_INSERT 0xD1 209
KEY_DELETE 0xD4 212
KEY_HOME 0xD2 210
KEY_END 0xD5 213
KEY_PAGE_UP 0xD3 211
KEY_PAGE_DOWN 0xD6 214
KEY_UP_ARROW 0xDA 218
KEY_DOWN_ARROW 0xD9 217
KEY_LEFT_ARROW 0xD8 216
KEY_RIGHT_ARROW 0xD7 215

数字キーバッド

キー 16進表記 10進表記
KEY_NUM_LOCK 0xDB 219
KEY_KP_SLASH 0xDC 220
KEY_KP_ASTERISK 0xDD 221
KEY_KP_MINUS 0xDE 222
KEY_KP_PLUS 0xDF 223
KEY_KP_ENTER 0xE0 224
KEY_KP_1 0xE1 225
KEY_KP_2 0xE2 226
KEY_KP_3 0xE3 227
KEY_KP_4 0xE4 228
KEY_KP_5 0xE5 229
KEY_KP_6 0xE6 230
KEY_KP_7 0xE7 231
KEY_KP_8 0xE8 232
KEY_KP_9 0xE9 233
KEY_KP_0 0xEA 234
KEY_KP_DOT 0xEB 235

エスケープとファンクションキー

キー 16進表記 10進表記
KEY_ESC 0xB1 177
KEY_F1 0xC2 194
KEY_F2 0xC3 195
KEY_F3 0xC4 196
KEY_F4 0xC5 197
KEY_F5 0xC6 198
KEY_F6 0xC7 199
KEY_F7 0xC8 200
KEY_F8 0xC9 201
KEY_F9 0xCA 202
KEY_F10 0xCB 203
KEY_F11 0xCC 204
KEY_F12 0xCD 205
KEY_F13 0xF0 240
KEY_F14 0xF1 241
KEY_F15 0xF2 242
KEY_F16 0xF3 243
KEY_F17 0xF4 244
KEY_F18 0xF5 245
KEY_F19 0xF6 246
KEY_F20 0xF7 247
KEY_F21 0xF8 248
KEY_F22 0xF9 249
KEY_F23 0xFA 250
KEY_F24 0xFB 251

機能制御キー

キー 16進表記 10進表記 注意
KEY_PRINT_SCREEN 0xCE 206 Print Screen もしくは PrtSc / SysRq
KEY_SCROLL_LOCK 0xCF 207
KEY_PAUSE 0xD0 208 Pause / Break

国際キーボードのレイアウト

いくつかの国のレイアウトでは追加のキーが定義されている。例えば、スウェーデンとデンマークのレイアウトでは、KEY_A_RING0xB7と定義されている。これは、“P"の右側にあるキーで、“Å”と表記されている。USレイアウトでは、“{”/“[”に相当する。これらの定義を使うには、適切なKeyboard_*.hファイルをインクルードする必要がある。例えば

1
2
3
4
5
6
7
8
9
#include <Keyboard.h>
#include <Keyboard_sv_SE.h> // extra key definitions from Swedish layout

void setup() {
  Keyboard.begin(KeyboardLayout_sv_SE); // use the Swedish layout
  Keyboard.write(KEY_A_RING);
}

void loop() {} // do-nothing loop

レイアウト特有のキー定義については、ライブラリソース内にある、関連するKeyboard_*.hファイルを参照すること。

オリジナルのページ

https://www.arduino.cc/reference/en/language/functions/usb/keyboard/keyboardmodifiers/

Last Revision: 2022/05/08

最終更新日

January 4, 2024

inserted by FC2 system