I am developing a specialty application where the end-user needs to operate multiple controls simultaneously. The application is used to "tune" the control parameters of an electronic device to calibrate the unit to its best performance.
我正在开发一个专业应用程序,最终用户需要同时操作多个控件。该应用程序用于“调整”电子设备的控制参数,以将单元校准到其最佳性能。
Currently, there is a UI with multiple graphical sliders which the operator click-drags one slider at a time. He can also click on a slider, and use the mouse-scroll wheel, which is a little easier to use.
目前,有一个带有多个图形滑块的UI,操作员一次点击一个滑块。他还可以单击滑块,并使用鼠标滚轮,这更容易使用。
This works, sort of, but is somewhat cumbersome. The various parameters (5 in this particular case) are sufficiently independent of each other so that I can't just refactor the parameters into a single adjustment. And, if the operator can keep his eye on the device being adjusted, rather than the UI of the control application, it would speed up and simplify his work.
这有点工作,但有些麻烦。各种参数(在这种特定情况下为5)彼此充分独立,因此我不能将参数重构为单个调整。而且,如果操作员可以关注正在调整的设备,而不是控制应用程序的UI,那么它将加速并简化他的工作。
One idea that I had was that I might buy a whole bunch of the USB jog-dial products, and bind each dial to a specific control. This way, the operator can quickly adjust any parameter, or even two parameters simultaneously. (BTW, Griffin PowerMate comes to immediate mind, but I know there are a few other jog dials out there.)
我的一个想法是,我可能会购买一大堆USB微动拨号产品,并将每个拨号绑定到特定控件。这样,操作员可以快速同时调整任何参数,甚至两个参数。 (顺便说一下,格里芬PowerMate立刻想到了,但我知道还有一些其他的慢跑表盘。)
Do you have any suggestions?
你有什么建议吗?
ADDED:
Keep in mind that in some cases, the parameters are adjusted in different directions, and may be significantly different in the adjustment steps. It's not a simple "track two channels together, and then fine tune the last bit of difference".
请记住,在某些情况下,参数会在不同方向上调整,并且在调整步骤中可能会有很大差异。这不是一个简单的“跟踪两个通道,然后微调最后一点差异”。
3 个解决方案
#1
2
Maybe capture key presses and define a row of pairs as your up/down controllers.
也许捕获按键并将一对线定义为上/下控制器。
Something like...
A/Z are the up/down keys for slider 1
S/X are the up/down keys for slider 2
D/C are the up/down keys for slider 3
F/V are the up/down keys for slider 4
G/B are the up/down keys for slider 5
etc...
Or maybe just keep the mouse wheel for adjustments and define a series of hot keys to activate (i.e. give focus to) each of the slider controls so you can quickly switch what you're adjusting with two hands.
或者只是保持鼠标滚轮进行调整,并定义一系列热键来激活(即给予焦点)每个滑块控件,这样您就可以用双手快速切换正在调整的内容。
#2
0
How about a checkbox for each control to bind a group of them together? Then when they adjust one, all the others that are bound together move the same amount. Provide a button to uncheck them all too.
如何将每个控件的复选框绑定到一起?然后当他们调整一个时,绑定在一起的所有其他人移动相同的数量。提供一个按钮以取消选中它们。
#3
0
This is some code of mine, and it is public-domain, that could be applicable to problems of this type. Explaining it has not been easy, but it has been published twice in journals. Maybe you'll find it interesting:
这是我的一些代码,它是公共领域,可以适用于此类问题。解释它并不容易,但它已在期刊上发表过两次。也许你会发现它很有趣:
http://en.wikipedia.org/wiki/Differential_Execution
There's also working code to start from, on sourceforge, project DynDlgDemo.
还有源代码,项目DynDlgDemo上的工作代码。
If you want, I can send you a copy of the most recent article.
如果您愿意,我可以向您发送最新文章的副本。
#1
2
Maybe capture key presses and define a row of pairs as your up/down controllers.
也许捕获按键并将一对线定义为上/下控制器。
Something like...
A/Z are the up/down keys for slider 1
S/X are the up/down keys for slider 2
D/C are the up/down keys for slider 3
F/V are the up/down keys for slider 4
G/B are the up/down keys for slider 5
etc...
Or maybe just keep the mouse wheel for adjustments and define a series of hot keys to activate (i.e. give focus to) each of the slider controls so you can quickly switch what you're adjusting with two hands.
或者只是保持鼠标滚轮进行调整,并定义一系列热键来激活(即给予焦点)每个滑块控件,这样您就可以用双手快速切换正在调整的内容。
#2
0
How about a checkbox for each control to bind a group of them together? Then when they adjust one, all the others that are bound together move the same amount. Provide a button to uncheck them all too.
如何将每个控件的复选框绑定到一起?然后当他们调整一个时,绑定在一起的所有其他人移动相同的数量。提供一个按钮以取消选中它们。
#3
0
This is some code of mine, and it is public-domain, that could be applicable to problems of this type. Explaining it has not been easy, but it has been published twice in journals. Maybe you'll find it interesting:
这是我的一些代码,它是公共领域,可以适用于此类问题。解释它并不容易,但它已在期刊上发表过两次。也许你会发现它很有趣:
http://en.wikipedia.org/wiki/Differential_Execution
There's also working code to start from, on sourceforge, project DynDlgDemo.
还有源代码,项目DynDlgDemo上的工作代码。
If you want, I can send you a copy of the most recent article.
如果您愿意,我可以向您发送最新文章的副本。