c++ - 使用 waitKeyEx 时如何用箭头键检测 Shift 或 CTRL?
问题描述
视窗 10 x64。开放式CV 4.0.1
我一直在使用waitKey,现在在opencv 4.0.1下,4个箭头键的waitKeyEx成功,但是当我用SHIFT或CTRL键同时按下它们时,从waitKeyEx返回的代码显然没有改变(0x00250000-左,0x00260000 - 无论是否按下 shift 或 CTRL,从 waitKeyEx() 返回 Up 等)
解决方案
似乎在 waitKeyEx() 返回后调用 GetKeyState 就可以了。我已经尝试过通过
int nRet = GetKeyState(VK_SHIFT);
(在调用 waitKeyEx() 后立即调用,如果按下左 shift 键,则返回 -127,右 -128,0 也不。我没有尝试过 CNTRL。我在http://forums.codeguru.com/中看到showthread.php?447587-Detecting-if-Control-or-Shift-key-was-down-when-key-pressed它有一个警告,它不是实时的,但从经验上看,它似乎对 waitKeyEx 有用( )
推荐阅读
- javascript - 如何在反应中将数组从子组件发送到父组件?
- django - 如何在 Django 的包含函数中添加“variable.html”而不是硬编码模板名称?
- python - 我在我的程序中收到“TypeError:'list' object is not callable”但找不到修复它的源
- c - 如何将结构中的字符串存储到二维数组中
- sql - 来自存储为 nvarchar 的 XML 列的 SQL 查询
- c - 使用 AT 命令以 JSON 模式发送数据
- blockchain - 如何确定我在 Ganache 中连接的网络
- r - Cox回归中具有时变效应的多级因子变量(tt函数)
- java - Spring boot JPA - 双向关系:返回外键而不是相关对象
- karate - 空手道 - 请求多线程访问 - 问题