我正在将 Sinclair Spectrum 128 ZX +2 转换为使用 Raspberry Pi 的计算机,并且我正在使用Teensy 3.2 USB开发板将原始键盘与原始膜映射,并获得普通的USB键盘。我不打算维护原始的键映射,可能我会购买一些贴纸并将其转换为英国键盘。
我以这种方式重复使用了原始的带状连接器:
我在网上找到了类似的Teensy代码(感谢Chad Boughton),并且我尝试将其改编成Sinclair,第一个尝试是简单地检查所有按键是否正常工作。
代码如下:https://gist.github.com/federicocappelli/7f61d6bc2095cbc278df12519b721435
简而言之,我创建了一个伪造的密钥矩阵:
m
但是结果不是我期望的,例如,按
k in node_list
const byte ROWS = 5;
const byte COLS = 8;
char keys[ROWS][COLS] = {
{KEY_1,KEY_2,KEY_3,KEY_4,KEY_5,KEY_6,KEY_7,KEY_8},
{KEY_9,KEY_0,KEY_A,KEY_B,KEY_C,KEY_D,KEY_E,KEY_F},
{KEY_G,KEY_H,KEY_I,KEY_J,KEY_K,KEY_L,KEY_M,KEY_N},
{KEY_O,KEY_P,KEY_Q,KEY_R,KEY_S,KEY_T,KEY_U,KEY_V},
{KEY_W,KEY_X,KEY_Y,KEY_Z,KEY_ENTER,KEY_TILDE,KEY_DELETE,KEY_BACKSPACE}
};
byte rowPins[ROWS] = {1,2,3,4,5}; //connect to the row pinouts of the keypad
byte colPins[COLS] = {6,7,8,9,10,11,12,13}; //connect to the column pinouts of the keypad
12345678
我希望每次按键输入1个字符。 我在做什么错了?
Here the Sinclair service manual with the keyboard membrane explanation
答案 0 :(得分:1)
如果您仍然对该主题感兴趣,
我编写了一个代码,以使用Arduino MICRO MCU处理ZXSpectrum +专用键盘(与传统频谱相比)。
仅SYMBOL + A组合仍然无效
基于您发送的PDF ... ZXKeyb with arduino micro