This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] Linux/TCA8418:TCA8418:密钥获取和按键事件问题,

Guru**** 2465890 points
Other Parts Discussed in Thread: TCA8418

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/636375/linux-tca8418-tca8418-keymaping-and-key-press-event-issue

部件号:TCA8418

工具/软件:Linux


我需要技术支持才能在Linux环境中使用TCA8418 (使用Yocto自定义Linux版本),
如果我按某个键,它将打印额外的字符,例如:如果按5,它将打印5+,如果我按3,它将打印3=
我尝试使用xinput工具进行调试;
按键 14  
按键 21  
钥匙释放14.  
钥匙释放21.  
按键 12  
按键 48  
钥匙释放12.  
钥匙释放48  
按键 11  
按键 20  
钥匙释放11.  
钥匙释放20  
我需要支持来解决此问题。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    您好K:

    能否向我们提供TCA8418周围无源组件的示意图/方框图?

    谢谢!
    -Bobby
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Nguyen先生,您好!

    你可以在这里看到我的键盘设计。

    我的DTB源文件。

    TCA8418@34{


    兼容="ti,TCA8418";
    REG =<0x34>;
    interrup-parent =<&GPIO1>;
    中断=<0xF 0x1>;
    IRQ-GPIO =<&GPIO1 0xF 0x1>;
    键盘,num-rows =<0x8>;
    键盘,num-columns =<0xA>;
    Linux,keymap =<0x2 0x1.0003万 0x2.0004万 0x3.0005万 0x40006 0x5.0007万 0x6.0008万 0x2000009 0x20.1万a 0x20.2万b 0x2030010 0x2040011 0x205.0012万 0x206.0013万 0x3000014 0x3010015 0x3020016 0x303.0017万 0x30.4001万e 0x4004.004万0300300x70250 0x500307025030.03万 0x5003070250 0x500702507.025万 0x50070250 0x500702505003070250 0x50070250 0x5007025050070250 0x50070250 0x5007025050070250 0x50070250 0x3007025050070250 0x30070250 0x300702505007.025万 0x30070250 0x3001503007.025万 0x300150 0x300702503007.025万 0x30070250</s>30.015万 3007.025万0x7.06万e0 0x707.0042万 0x10.0004万e 0x101000c 0x102.0028万 0x1030027 0x10.4万d 0x10.5001万a 0x10.6001万b 0x107.0033万 0x108.0039万 0x109.0001万>;

    };

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    嘿K,

    您似乎已将示意图上的TCA8418的Row1和Row0引脚短路。 这可能导致设备在实际只按下一个按钮时就认为按下了两个按钮。 如果这是在PCB上(并且您有多个要测试的),您可以尝试剪切其中一条迹线,看看这是否解决了问题。

    -Bobby
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    问题出现在设备树文件中,我已通过在DTS中更正来解决。

    感谢你的巨大帮助。