首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >键盘映射Sinclair谱ZX +2在Teensy 3.2上

键盘映射Sinclair谱ZX +2在Teensy 3.2上
EN

Stack Overflow用户
提问于 2019-07-09 18:51:05
回答 1查看 862关注 0票数 1

我正在将Sinclair频谱128ZX +2转换成Raspberry Pi-powered计算机,我使用Teensy 3.2 USB开发板将原始键盘与原始膜映射,并得到一个普通的USB键盘。我不打算保持原来的键映射,我可能会买一些贴纸,我会转换它在英国的键盘。

我以这种方式重用了原始的带状连接器:

  • 5行>1~5排
  • 8栏>6至13柱

(拍完照片后,我注意到断开的电缆,现在修好了)

我在网上找到了一个类似的代码(谢谢Chad ),我试着将它修改为Sinclair,第一次尝试就是简单地检查所有的键是否都正常工作。

在这里,代码:https://gist.github.com/federicocappelli/7f61d6bc2095cbc278df12519b721435

简单地说,我创建了一个假的密钥矩阵:

代码语言:javascript
复制
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
  • u键盘打印5cs
  • 图形键盘打印6d4b

我希望一个按键有一个字符。我做错什么了?

这里是带有键盘膜解释的Sinclair服务手册。

作为参考的键盘:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-01-08 06:48:11

如果你还对这个话题感兴趣,

我用Arduino微控制器编写了一个处理ZXSpectrum+特定键盘的代码(与传统频谱相比)。

只有SYMBOL+A组合体仍然不能工作。

根据你发送的PDF ..。ZXKeyb与arduino微器件

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56958981

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档