内容へ移動
まさとしナレッジ
ユーザ用ツール
ログイン
サイト用ツール
検索
ツール
文書の表示
以前のリビジョン
バックリンク
最近の変更
メディアマネージャー
サイトマップ
ログイン
>
最近の変更
メディアマネージャー
サイトマップ
トレース:
キーボード
文書の過去の版を開いています
。もしこのまま保存すると、この文書が最新となります。
メディアファイル
====== キーボードの動作模倣 ====== {{:key.png?400|}} #include "Keyboard.h" const int KEYIN[] = { 8, 9 }; const int KEYOUT[] = { 2, 3, 4, 5 }; unsigned long previousMillis = 0; const long interval = 30; int columnNum = 0; int sw[4][2] = { 0 }; char keyMap[4][2] = { { 'A', 'B' }, { 'C', 'D' }, { 'E', 'F' }, { 'G', 'H' } }; void setup() { for (int i = 0; i < 4; i++) { pinMode(KEYOUT[i], OUTPUT); digitalWrite(KEYOUT[i], LOW); } for (int i = 0; i < 2; i++) { pinMode(KEYIN[i], INPUT); } Keyboard.begin(); } void loop() { unsigned long currentMillis = millis(); if (currentMillis - previousMillis >= interval) { previousMillis = currentMillis; digitalWrite(KEYOUT[columnNum], HIGH); for (int rowNum = 0; rowNum < 2; rowNum++) { int readValue = digitalRead(KEYIN[rowNum]); if (readValue != sw[columnNum][rowNum] && readValue == HIGH) { keyPress(keyMap[columnNum][rowNum]); } sw[columnNum][rowNum] = readValue; delay(10); Keyboard.releaseAll(); } digitalWrite(KEYOUT[columnNum], LOW); columnNum++; columnNum %= 4; } } void keyPress(char key) { switch (key) { case 'A': Keyboard.write('p'); Keyboard.write('r'); Keyboard.write('i'); Keyboard.write('n'); Keyboard.write('t'); Keyboard.write('('); Keyboard.write(')'); break; case 'B': Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_RIGHT_ARROW); break; case 'C': Keyboard.press(KEY_LEFT_GUI); Keyboard.press('/'); break; case 'D': Keyboard.press(KEY_LEFT_ALT); Keyboard.press(KEY_LEFT_ARROW); break; case 'E': Keyboard.press(KEY_LEFT_GUI); Keyboard.press(KEY_LEFT_CTRL); Keyboard.press('j'); break; case 'F': Keyboard.press(KEY_LEFT_GUI); Keyboard.press(KEY_RIGHT_ARROW); break; case 'G': Keyboard.press(KEY_LEFT_CTRL); Keyboard.press('i'); break; case 'H': Keyboard.press(KEY_LEFT_GUI); Keyboard.press(KEY_LEFT_ARROW); break; default: break; } }
人間の証明として、ボックス内の全ての文字を入力してください。
N O H S F
この項目は空のままにして下さい:
保存
プレビュー
キャンセル
編集の概要
注意: 本ページを編集した場合、あなたの編集した内容が次のライセンスに従うことに同意したものとみなします:
CC Attribution-Share Alike 4.0 International
キーボード.1745222272.txt.gz
· 最終更新:
2025/05/19 06:51
(外部編集)
ページ用ツール
文書の表示
以前のリビジョン
バックリンク
文書の先頭へ