Contact me: hankecnc@gmail.com

键盘慢跑 #386

推推 grbl 3年前 (2023-02-01) 363次浏览
关闭
poesel 打开了这个问题 2016 年 7 月 30 日 · 13条评论
关闭

键盘慢跑#386

poesel 打开了这个问题 2016 年 7 月 30 日 · 13条评论

注释

键盘慢跑 #386

首先:感谢编写 bCNC – 很棒的程序!

我买了一个用于慢跑的无线键盘。效果很好。两个问题:

  1. 如何重新定义键?我想将 8,2 映射到 x,将 4,6 映射到 y。目前它是相反的,这有点不方便,因为我的设置与它垂直。也不能只转动键盘,因为这样向上/向下就会变成左/右。另外 7 已经被标记为“家”,所以我宁愿使用它而不是 1。
  2. 如果在释放小键盘键后删除键盘缓冲区,那就太好了。因为排队的键会导致崩溃。:(

谢谢!

键盘慢跑 #386
所有者
  1. 这是一个很好的建议,我会努力实现它。
  2. 在 Python/tkinter 中,我无权管理键盘缓冲区。也许你应该降低键盘设置的重复和延迟
键盘慢跑 #386
作者
  1. 凉爽的!:)
  2. 我想你可以。我从这里得到的最简洁的答案 [https://rosettacode.org/wiki/Keyboard_input/Flush_the_keyboard_buffer#Python]:

def flush_input():

try:

    import msvcrt

    while msvcrt.kbhit():

        msvcrt.getch()

except ImportError:

    import sys, termios

    termios.tcflush(sys.stdin, termios.TCIOFLUSH)`
键盘慢跑 #386
所有者
  1. 这仅适用于终端应用程序的 MS 窗口。bCNC 是一个 tk 应用程序,其中所有输入事件键盘和鼠标都由 tk 处理。
键盘慢跑 #386
作者

msvcrt 部分用于 Windows,termios 用于 Unixes。虽然我不知道这是否与 tk 有任何关联。
在同一页面rosettacode.org上有一个针对 tcl 的解决方案。再一次,不知道这是否对你有帮助。
如果没有,那么我将不得不等到 grbl 获得适当的慢跑支持。感谢您的努力!

键盘慢跑 #386
所有者

我也宁愿等待 grbl,而不是制定一个临时解决方案,然后被迫重新编写它。

键盘慢跑 #386
所有者

@poesel在新主人中,我在 [Control] 部分的 ini 中添加了一个名为“swap”的变量。
默认为 0:X 轴左/右,Y 轴上/下
其他选项
1:Y 轴左/右,X 轴上/下(顺时针旋转 90 度)
-1:与 1 相同但方向相反(逆时针旋转 90 度)
我不知道它是否需要更多选择
你必须在你的 ${HOME}/.bCNC 文件中设置它而不是在 bCNC.ini 中。

键盘慢跑 #386
作者

像广告一样工作 – 非常感谢!

是否也可以配置主页按钮?还是完全禁用它?因为这是一个我从来没有使用过的功能,不小心碰到它可能会导致崩溃。

键盘慢跑 #386
作者

抱歉,发现一个错误。
我在我的 .bCNC 中的 [Control] 下添加了“swap = -1”。这是第一次工作,但在重新启动后 [Control] 部分除了交换条目外是空的。虽然键盘可以工作,但我不能再用键盘移动龙门架了。与我的备份副本相同。
我记得至少还有一个条目,但我不记得是哪一个了。我猜 bCNC.ini 文件是家里的模板,它有几个条目。其中哪些是必要的?

键盘慢跑 #386
作者

事情又恢复正常了。我试图重现该错误,但没有成功。所以请忽略错误报告。

键盘慢跑 #386
所有者

@poesel你能在 wiki 上记录一下吗,我正在关闭这个问题