开源改变世界!!

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984

推推 grbl 2年前 (2023-01-27) 187次浏览
关闭
RecceDG 打开了这个问题 2018 年 4 月 2 日 · 12 条评论 · 由#988修复
关闭

注释

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984

尝试将罗技G13设置为机器挂件。

承认让 LCD 屏幕正常工作目前是一座太远的桥梁 – 但设置常规按键应该是一个简单的选择,不需要 UGS 方面的任何工作。

罗技的软件允许对键盘进行编程以发出您想要的任何键盘命令——只有当用户界面有键盘快捷键时才有效。

请注意,我不是在寻找“平滑的慢跑”或类似的东西 – 一个按键 == 1 鼠标点击那个特定的 UI 元素就是我所追求的。

在这些实施之前,请不要关闭此票证。

三月顺序:

X+
X-
Y+
Y-
Z+
Z-
Home Machine
Move to Work Zero
清除警报
Zero X
Zero Y
Zero Z
Zero All
Move to X Max (See #983 )
Move to Y Max
Move to Z Max (Z limit switch)
Move to X工件零
移动到 Y 工件零
移动到 Z 工件零
Add 1.0 to XY Jog
Add 0.1 to XY Jog
Add 0.01 to XY Jog
Add 0.001 to XY Jog
Subtract 1 from XY Jog
Subtract 0.1 from XY Jog
Subtract 0.01 from XY Jog Subtract 0.001 from XY Jog Subtract 0.01 from XY Jog
Subtract 0.001 from XY Jog
将 XY Jog 设置为 1
将 XY Jog 设置为 0.1
Set XY Jog to 0.01
Set XY Jog t0 0.01
Add 1.0 to Z Jog
Add 0.1 to Z Jog
Add 0.01 to Z Jog
Add 0.001 to Z Jog
Subtract 1 from Z Jog
Subtract 0.1 from Z Jog
Subtract 0.01 from Z Jog
Subtract 0.001 from Z Jog从Z Jog减去0.01
将 Z 点动设置为 1
将 Z 点动设置为 0.1
将 Z 点动设置为 0.01
设置 Z 点动 t0 0.01
主轴开启
主轴关闭
冷却液开启
冷却液关闭进给率加
1 进给率
加 10 进给率
减 1 进给率
减 10

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
所有者

除以下各项之外的所有内容要么已经存在,可以通过宏实现,要么已经有足够接近的东西,我认为不需要额外的按钮(即subtract 1/0.1/0.01Increase/DecreaseMiltiply/Divide by 10)。

在这个列表中,我认为只需要添加进给率。

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
作者
接收DG 评论了 2018 年 4 月 2 日  

它们在哪里列出?

我不是在寻找额外的 UI 元素,但任何现有的 UI 元素都应该有一个映射到它的击键。

好的,我找到了 kemapping…部分问题是默认键盘映射设置为使用 Windows 上不存在的键 – 没有“元”键。

也无法映射到“向上”,因为键盘映射器将“向上箭头”视为试图操纵键盘映射选择器而不是捕获键。

解决方案可能是将键盘快捷键添加到 UI,以便您可以看到它。

等等。让我胡说八道。

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
作者

所以这是我发现的:

X+ YES
X- YES
Y+ YES
Y- YES
Z+ YES
Z- YES
Home Machine YES
Move to Work Zero YES(可以重命名以明确我们正在谈论的是哪个零)
清除警报 NO
Zero X NO(重命名为设置工作零X)
零 Y NO(重命名为设置工作零 Y)
零 Z NO(重命名为设置工作零 Z)
全部零 YES(可能应该重命名为“设置工作全部为零)
移动到 X Max(参见#983)NO
移动to Y Max NO
Move to Z Max (Z limit switch) NO
Move to X Work Zero NO
移动到 Y Work Zero NO
移动到 Z Work Zero NO
Add 1.0 to XY Jog NO
Add 0.1 to XY Jog NO
Add 0.01 to XY Jog NO
Add 0.001 to XY Jog NO
Subtract 1 from XY Jog NO
Subtract 0.1 from XY Jog NO
Subtract 0.01 from XY Jog NO
Subtract 0.001 from XY Jog NO
将 XY Jog 设置为 1 YES
将 XY Jog 设置为 0.1 YES
设置 XY Jog to 0.01 YES
Set XY Jog t0 0.01 YES
Add 1.0 to Z Jog NO
Add 0.1 to Z Jog NO
Add 0.01 to Z Jog NO
Add 0.001 to Z Jog NO
Subtract 1 from Z Jog NO
Subtract 0.1 from Z Jog NO
Subtract 0.01 从Z Jog NO
Subtract 0.001 from Z Jog NO
Set Z Jog to 1 NO
Set Z Jog to 0.1 NO
Set Z Jog to 0.01 NO
Set Z Jog t0 0.01 NO
Spindle On NO(有一个主轴,但它似乎没有做任何事情)
Spindle Off NO(见上文)
Coolant On(无法测试)
Coolant Off(无法测试)
加 1 到进给率 NO
加 10进给速率 NO 从进给速率 NO
中减去 1 从进给速率 NO
中减去 10

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
作者

天啊,钥匙取决于你最后触摸的是哪个窗口

我将 HOME – PAGEUP – PAGEDOWN – END 分别配置为“set XY jog 1 – .1 – .01 – .001”,如果你在点动窗口中单击一个 UI 元素,它们就会这样做。但是在探测模块窗口中单击,现在 PAGEUP 设置为毫米,PAGEDOWN 设置为英寸。

在点动窗口中单击不会重置功能 – 您必须先单击 UI 元素才能启用它们。

这是非常不直观的,并且有可能在机器上造成灾难。

因此,让我们在这张票中添加“无论哪个模块处于活动状态,键盘快捷键都必须提供相同的功能”

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
合作者

将单个键配置为快捷方式通常不是一个好主意。例如,在多行文本区域中按下 END 时会发生什么?您应该将键与修饰符(例如 ALT、CTRL 和/或 SHIFT)结合使用,操作系统或程序中的任何其他内容均未使用该键。

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
作者

好的,所以这混淆了两个问题。

任何移动/影响机器的击键都应该隐藏在“deadman switch”(如 Crtl+ 或 Alt+)后面的论点是合理的。它减少了意外按键对机器造成影响的可能性。

所以我对此没有问题。鉴于键绑定在 UGS 和我的键盘配置软件中都是可配置的,这意味着此要求不会干扰我预期的工作流程。

因此,将与机器更改(如慢跑)相关的所有内容配置为 Ctrl+[whatever] 的默认键盘映射我没有任何问题。

我的问题是按键会根据您最后触摸的 UI 元素执行不同的操作,这是完全不能接受的如果您将 Crtl+d 配置为“Jog X+”,则无论 UGS 中的哪个窗口具有焦点,按 Ctrl+d 都应该点动 X+ 。

如果这意味着某些键不再可用于重新分配,因为它们是 UI 操作所必需的(比如可能是箭头键),那就这样吧——但是一旦某个键被配置为执行某些操作,那么它应该做的就是这些因为 UGS 有重点。

这里的想法是,UGS 是 HAAS 数控铣床等机器上控制面板的虚拟替代品。虽然它不必看起来像 HAAS 控制面板(并且可以说不应该,因为一堆 HAAS 房地产被交给了手动输入 gcode 程序和支持 UGS 无法支持的功能(如主轴负载))但 UGS 是您的机器控制面板这一基本概念是有效的。这意味着无论您处于程序的哪个部分,机器控制必须始终以相同的方式工作。

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
所有者

@RecceDGUGS 是一个常规的 UI,本机操作系统行为适用于我们使用的控件元素。并不是不同的窗口有不同的行为,而是活动控件有一定的行为。例如,假设您绑定了一个键a并且当前聚焦了一个文本框,您希望发生什么?在您的示例中,探头设置中的单位组合框具有焦点,在这种情况下,向上翻页/向下翻页可让您滚动浏览组合框。如果您愿意,可以按 Tab 键循环浏览焦点控件。当活动控件不使用键绑定时,它会传播到预期事件。

当操作系统行为妨碍你想要的东西时,我不同意这令人沮丧。我们之前讨论过这个问题:#709(评论)

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
贡献者

@RecceDG至于用户界面是否直观且与操作系统保持一致,我完全同意你的看法。

我的问题是按键会根据您最后触摸的 UI 元素做不同的事情
问题是,我只能在一种情况下重复这个(见下文)。您能否提供一个例子,这通常不会发生在 MS Word 或类似软件中?

我只能重复你提到的 PGUP/PGDN 问题,以及它为什么这样做是有道理的。PGUP/PGDN 应该改变一个活动的组合框。当您打开 Probe Module Settings 选项卡时,Units 组合框被选中,因此 PGUP/PGDN 应该更改它。当您选择 WCS 组合框时,PGUP/PGDN 将改为更改该组合框。

我希望我这样说时不会显得滑稽或傲慢,但这实际上是一种直觉行为。操作系统 (Windows/Mac/Linux) 希望在可能将击键发送到 UGS 之前拦截和处理击键,因为击键可能必须执行其他操作。这完全是关于优先级和上下堆栈的。例如,WIN+R 可能会弹出一个对话框要求您运行某些软件,即使您将 UGS 配置为进行软重置也是如此。可能会重置 GRBL,但 Windows 肯定会显示对话框。

我建议在设置击键时首先检查他们是否在为他们分配任务之前做其他事情。

至于票证背后的用例——让一个带有一堆自定义标签按钮(可能还有一个旋转编码器)的 Arduino 来发送击键作为 USB 密钥似乎是一个非常好的主意,我现在想做的事情!👍

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
作者

我希望我这样说时不会显得滑稽或傲慢,但这实际上是一种直觉行为。

一点都不。我们是谈论技术问题的工程师——没有必要让任何人生气。

因此,您陷入了软件开发人员中一个非常普遍的问题,即误认为计算机的工作方式(尤其是 UI)就是人们的工作方式。

我自己是从软件开始的,所以我完全明白这一点。我去过那里,做过那件事,激怒了我的用户。:)

但我也很幸运,作为一名机械工程师,我花了将近十年的时间设计赛车零件,并与一位非常优秀的机械师密切合作——几乎我设计的所有东西都进入了 CNC 铣床。我花了很多时间在那家工厂,学习从 CAD 模型到 CAM 刀具路径再到 gcode 以切割铝(或钢或钛等)的工作流程的方式和原因。关键是要了解工作流程针对两件事进行了大量优化:速度和安全性。速度,因为闲置的机器不赚钱,但闲置的工程师和机械师会烧很多钱,安全,因为 HAAS 会你告诉它做什么,即使这意味着以 3″ DOC 快速运行 3″ 面铣刀直接进入 Kurt(不是我曾经这样做过)。

值得一看的图片显示了 HAAS 控制面板上的内容以及它相对于机床床身的位置。它的设置使操作员可以打开机器门,一只手放在控制面板上,另一只手放在主轴上等。点动控制器是一个曲柄轮(实际上是一个数字旋转编码器)并且有是曲柄旁边的按钮,用于选择曲柄轮的功能。通常,主要控制是 X、Y、Z、进给率。所以按下 X,现在曲柄轮会根据轮子的转动方向点动 X。按 Y,现在它点动 Y。

您有 1、.1、.01 和 .001 按钮来控制点动速度,因此您可以从粗略移动到精细移动。并且有一个归零当前活动轴的工作归零按钮。

通过这种设置,移动主轴的过程(实际上,主轴是静止的,工作台移动,但无论如何)看起来和感觉起来很像在 Bridgeport 膝磨机上摇动手柄。它直观且快速。

好的,所以我们没有滚轮(那些控制器存在,但很少见)。我们有一个键盘。所以现在你把键盘放在 HAAS 控制器所在的位置(差不多),然后你用键盘控制机器。这是一个重要的部分——您甚至可能看不到屏幕。

我有一个罗技迷你键盘。我可以一只手拿着它,我不需要看它。使用它,我可以让机器慢跑来做一些事情,比如将我的眼球牢牢地放在主轴/钻头上。一只手有塞尺,另一只手在键盘上,我可以粗略点动、精细点动和超精细点动到零点,而无需看屏幕

请注意,事情还不完美,因为我不能从键盘上设置零,也不能设置 Z 轴点动速率 – 但是当添加这些快捷键时,我将能够进行完整的换刀和无需查看屏幕或触摸鼠标即可从键盘进行调零。这是一个巨大的生产力胜利。

但这只有在键盘(即键盘)在直接机器控制模式下 100% 的时间直接工作时才有效。窗口焦点的改变不应该突然禁用小键盘,或者更糟的是,保持小键盘的功能但让它做其他事情。

现在我承认设置它很棘手,一些击键被超载到 UI 控制功能 – 保留预期的 UI 功能是有价值的。因此,也许需要一个非常明显的 UI 元素,将 UGS 置于“机器控制模式”,并将焦点锁定在该窗口中,并将所有键盘功能 100% 专用于机器控制。在“机器控制模式”中,UI 和键盘是一个虚拟的 HAAS 控制器(并不是说它必须看起来像 HAAS 控制器——你知道我的意思),在“机器控制模式”之外,它只是一个键盘。

同样值得注意的是,当程序运行且 HAAS 正在切削时,操作员通常将点动控制器置于“进给率”模式,并且他不断根据主轴负载表和声音来上下调整进给率刀具正在制作。生产车间的机器控制是一个非常活跃的过程……

所有 UI 按钮都必须具有键盘快捷键,以便 USB 键盘可以用作挂件或以其他方式使键盘有用。 #984
贡献者
卡内基 评论了 2018 年 4 月 4 日 通过电子邮件