オリジナルのキー配列は、こんなかんじ
USBキーボードのキーマップは、できるだけ同じキーを使うように配置してみた
GraphキーはFunctionキーとして使い、これが押された場合は以下のキーマップを変更する
これで、日本語の109キーが網羅できたと思う。
ファームもこれに合わせて修正。
「ibm_1391401.h」をコピーして作ったヘッダーで、キーマップを2つ作る
const unsigned char keymap[NUMROWS][8] PROGMEM = {
・・・
};
const unsigned char keymapFunction[NUMROWS][8] PROGMEM = {
・・・
};
Functionキーの定義も追加
#define FUNCTION_KEY_ROW 0 // "GRAPH" Key
#define FUNCTION_KEY_MASK 0x01
「main.c」で切り替え処理を入れる。
「scankeys()」の中で、Fnキーの押下をチェックして、
/* Check Function Key */
functionKey = !(bitbuf[FUNCTION_KEY_ROW] & FUNCTION_KEY_MASK);
これに応じてkeymapを使うかkeymapFunctionを使うか切り替える。
rumpはATmega32を使っているので、ATmega164Pで使う場合、レジスタをちょっと修正
TCCR0B = 5; /* timer 0 prescaler: 1024 */main()の中もちょっと修正
if (TIFR0 & (1 << TOV0)) { /* 22 ms timer */これでビルドが通った。
* Reset flag */
TIFR0 = 1 << TOV0;
・・・
AVR DragonでATmega164Pに書き込んでPCに接続!!
0 件のコメント:
コメントを投稿