プログラミング

3ボタンキーボードには、Arduino(アルドゥイーノ 、アルディーノ)というマイコンを使用しています。

Arduinoの IDE(統合開発環境)をインストールして、マイコンにプログラムを書き込みます。

1.ソフトウェアのダウンロード

公式ホームページにアクセスし、
「SOFTWARE」から

「Arduino IDE」をダウンロードします。

「JUST DOWNLOAD」で無料でダウンロードできます。


2.プログラミング

ファイルメニューから「新規ファイル」を選びます。

もともと入っているプログラムは削除して、以下のサンプルプログラムをコピペします。
※Windows用のプログラムです。Macなどで使用する場合は工夫が必要です。

■■■以下プログラム■■■
#include "Keyboard.h"
boolean beforeState9 = false;
boolean beforeState10 = false;
boolean beforeState11 = false;

void setup() {
  pinMode(9, INPUT_PULLUP);
  pinMode(10, INPUT_PULLUP);
  pinMode(11, INPUT_PULLUP);
  Keyboard.begin();
}
void loop(){
//左キー設定--------------------------------
  if(digitalRead(9) == LOW){
    delay(1);
    Keyboard.print("HELLO WORLD");
    delay(100);
    Keyboard.releaseAll();

    while(digitalRead(9) == LOW);
  }
//中央キー設定--------------------------------
    if(digitalRead(10) == LOW){
        delay(1);
        if(!beforeState10){
            Keyboard.press('a');
            beforeState10 = true;
        }
    }else{
        if(beforeState10){
            Keyboard.release('a');
            beforeState10 = false;
        }
    }
//右キー設定--------------------------------
  if(digitalRead(11) == LOW){
    delay(1);
    Keyboard.press(KEY_LEFT_CTRL);
    Keyboard.press('v');
    delay(100);
    Keyboard.releaseAll();

    while(digitalRead(11) == LOW);
  }
}
■■■プログラムここまで■■■

3.サンプルプログラム解説

//左キー設定--------------------------------
  if(digitalRead(9) == LOW){
    delay(1);
    Keyboard.print("HELLO WORLD");
    delay(100);
    Keyboard.releaseAll();
    
    while(digitalRead(9) == LOW);
  }
--------------------------------
左キーに設定されているのは「HELLO WORLD」と入力するプログラムです。
「Keyboard.print」の後に括弧とダブルクォーテーション(シングル不可)で入力したい文字を設定します。
「digitalRead(9)」を「digitalRead(10)」または「digitalRead(11)」にすることで、中央または右のキーにこのプログラムを割り当てられます。

//中央キー設定--------------------------------
    if(digitalRead(10) == LOW){
        delay(1);
        if(!beforeState10){
            Keyboard.press('a');
            beforeState10 = true;
        }
    }else{
        if(beforeState10){
            Keyboard.release('a');
            beforeState10 = false;
        }
    }
--------------------------------
中央キーには「a」の文字を連打するプログラムが設定されています。ボタンを押し続けると「a」の文字が繰り返し入力されます。

「press」と「release」で同じ文字を設定しないと、ボタンが押され続けるられた状態になるためセットで同じ文字を設定しています。

「digitalRead(10)」と「beforeState10」を、
「digitalRead(9)」と「beforeState9」にすることで左キーに、
「digitalRead(11)」と「beforeState11」にすることで右キーにこのプログラムを割り当てられます。

//右キー設定--------------------------------
  if(digitalRead(11) == LOW){
    delay(1);
    Keyboard.press(KEY_LEFT_CTRL);
    Keyboard.press('v');
    delay(100);
    Keyboard.releaseAll();
    
    while(digitalRead(11) == LOW);
  }
--------------------------------
右キーは「ペースト(コントロール+V)」をするプログラムです。
「digitalRead(11)」を「digitalRead(9)」または「digitalRead(10)」にすることで、左または中央のキーにプログラムを割り当てられます。

「KEY_LEFT_CTRL」などと設定することで、修飾キーを割り当てられます。
修飾キーはプログラムの以下の「キー一覧」から確認できます。

修飾キー一覧
null                        | 0x00
KEY_LEFT_CTRL     | 0x80
KEY_LEFT_SHIFT    | 0x81
KEY_LEFT_ALT        | 0x82
KEY_LEFT_GUI        | 0x83
KEY_RIGHT_CTRL   | 0x84
KEY_RIGHT_SHIFT  | 0x85
KEY_RIGHT_ALT     | 0x86
KEY_RIGHT_GUI     | 0x87
KEY_UP_ARROW     | 0xDA
KEY_DOWN_ARROW  | 0xD9
KEY_LEFT_ARROW  | 0xD8
KEY_RIGHT_ARROW | 0xD7
KEY_BACKSPACE   | 0xB2
KEY_TAB         | 0xB3
KEY_RETURN      | 0xB0
KEY_ESC         | 0xB1
KEY_INSERT      | 0xD1
KEY_DELETE      | 0xD4
KEY_PAGE_UP     | 0xD3
KEY_PAGE_DOWN   | 0xD6
KEY_HOME        | 0xD2
KEY_END         | 0xD5
KEY_CAPS_LOCK   | 0xC1
KEY_F1          | 0xC2
KEY_F2          | 0xC3
KEY_F3          | 0xC4
KEY_F4          | 0xC5
KEY_F5          | 0xC6
KEY_F6          | 0xC7
KEY_F7          | 0xC8
KEY_F8          | 0xC9
KEY_F9          | 0xCA
KEY_F10         | 0xCB
KEY_F11         | 0xCC
KEY_F12         | 0xCD
SPACE           | 0x20

4.プログラムの書き込み

プログラムが完成したら、組み立てたキットをUSBでパソコンに接続します(充電のみにしか対応していないケーブルではデータの書き込みができません。データ伝送可能なケーブルをご使用ください。)
ツールメニューからボードをAruduion Leonardoに設定します。

次に「シリアルポート」でArduino Leonardoが選択されていることを確認してください。
※初めてマイコンをPCに接続する際は、ドライバーのインストールが完了するまで数分かかる場合があります。ドライバーがインストールされるまではシリアルポートの欄は選択できません。

最後にArduino IDEの「→」アイコンでマイコンにプログラムを書き込みます。これで完成です!!

さらに詳しく知りたい方は以下を参照ください