KCOM4串口转键鼠控制线测试说明
1.KOCM4介绍
KCOM4是一款最新开发的串口转键盘鼠标控制线,采用32位内核,最大60Mhz的工作频率,完美适用于游戏挂机等应用场景(如果是用在工作电脑控制或展厅电脑控制推荐CH9329双头线)。KCOM4支持普通键盘、相对鼠标、轨迹移动、通信加密修改全部硬件信息、固件升级等功能。KCOM4的所有硬件信息是从一套真实键鼠设备抓包来的,不管从哪里看都是和真实键鼠一模一样。串口通信配置:波特率-115200,停止位-1,数据位-8,校验位-无。使用KCOM4的基本技能是能会发串口16进制数据,并且会2进制和16进制数的转换。
什么是普通键盘?多媒体键盘?相对鼠标?绝对鼠标?
普通键盘:支持所有多功能键(ctrl/alt/shift)+6个普通按键(a/b/1/2/,/.)同时按下;
多媒体键盘:静音、音量+、音量-、关机、休眠、唤醒、计算器等等;
相对坐标鼠标:鼠标移动时是根据光标当前位置进行移动,例如当前位置为(100,100),向右移动50像素,光标就会移动到(150,100);
绝对坐标鼠标:鼠标可以精准移动到任何指定坐标,不管当前光标在哪里;绝对坐标需要知道屏幕分辨率才能精准移动。
产品链接:https://item.taobao.com/item.htm?spm=a21dvs.23580594.0.0.4fee645e4fEvj2&ft=t&id=729839977151
KCOM4资料下载链接:https://pan.baidu.com/s/1AVg2PTXOBhKiTR2SLPVDHA?pwd=1234
2.功能简介
2.1键盘功能
KCOM4不支持多媒体键盘功能,因为抓包的那套键鼠设备本身不支持多媒体键盘;大部分普通键盘是不支持多媒体键盘功能的。而且多媒体功能在游戏操作上基本也很少会用到的。
普通键盘功能可以实现键盘的所有功能,按键按下、组合键按下等等。按键按下需要发送松开的指令,否则按键是会被电脑一直记录按下的。KCOM4也支持自动松开指令和随机延时按键松开,用户按照格式发送指令,KCOM4会根据要求随机延时或者固定延时发送松开按键的指令。
这里介绍一下键盘和电脑通信的一个大概流程:首先键盘插入电脑后就会告诉电脑键盘的数据上报间隔,快的键盘是一般1ms,慢一点的键盘是一般10ms。然后电脑就会每间隔这个时间询问一次键盘有没有新数据,有的话就处理,没有的话就跳过。键盘按下某个按键(不松开),键盘就会把这个按键按下的数据发给电脑,由电脑记录这个按键按下;注意的是,就算你按键一直不松开,键盘也不会有任何新数据发给电脑的,有很多人以为是键盘不停发按下的指令给电脑,这是错误的。等到按键松开后,键盘再把松开的指令发给电脑,这个时候电脑才会松开这个按键。
2.2鼠标功能
KCOM4不支持绝对坐标鼠标功能,这个绝对坐标鼠标功能在游戏上作用就挺大的了,能够精准移动到指定的位置。但是谁家真实鼠标用的是绝对坐标鼠标啊?目前为止我没见过哪个品牌的真实鼠标是绝对坐标鼠标的,向日葵的远程控制设备用的是绝对坐标鼠标。
没有绝对坐标功能,怎么知道当前鼠标光标的位置呢?
虽然不知道鼠标光标当前位置,那我直接把光标移动到左上角0.0的位置,然后再进行相对移动就可以了。
KCOM4支持轨迹移动功能,不过轨迹移动不是特别精确,一般差几个像素。建议执行完轨迹移动后再根据位置进行一次相对移动。轨迹移动带有加减速算法,就是轨迹移动时先快后慢来移动;轨迹移动的原理其实就是把需要移动的距离拆分成若干个小位置,每次移动随机1-20个像素。
鼠标移动小知识:正常使用鼠标的时候,每次移动的像素一般是1-10个像素;故意把鼠标移动很快一般是20-50个像素左右。所以如果想自己通过相对坐标鼠标做轨迹移动的话,就每次只发送几个像素的移动来模拟轨迹。
KCOM4鼠标回报率是多少?
1000,这个鼠标回报率其实就是鼠标数据包的上报间隔时间,KCOM4设定的上报间隔是1ms,最大1秒钟能上报1000个数据包,所以回报率就是1000。你间隔10ms发一次数据,测出来的回报率就是100左右,主要和你发送数据的间隔有关。
2.3通信加密
目前市面上使用串口通信的键鼠控制产品很少有使用加密的,最主要的是他们使用的是8位内核的芯片,芯片最大频率一般在24Mhz内,做加密的话就会影响正常系统运行了。KCOM4采用的是AES-128(ECB)加密方式,用户可以自定义加密密钥,并且在指令中加入随机字节,可以确保同一个控制指令加密后每次都不一样。
为什么要做加密?
第三方软件能在你毫不知情的情况下查看你串口的通信所有内容,然后再和键鼠动作比对一下就能轻松知道是怎么回事了。想解决这个问题只有两个办法,1是主控机和被控机分开;2是通信加密,就算对方监控你串口通信的内容,也无法解析出是什么数据。
2.4固件升级
做游戏工作室的有时候遇到的情况就是入了一批盒子,上线没多久就挂了,盒子直接原地报废。KCOM4支持用户自行升级固件,就算KCOM4的键鼠信息被记录了,只要我再重新买一套真实键鼠设备然后再抓包硬件信息重新生成一套固件,用户再自己烧录进去,就是全新的一套硬件信息了。
有人就这么说了,你这样子没用的,人家能知道你用啥芯片,直接封你芯片或者其他啥啥啥的。
能这么说的基本就是小白或者不懂技术,我虽然不算多牛,但是在USB键鼠这块还是略懂一二。有兴趣的朋友可以自行学一下USB键鼠设备的一些描述符和报表就会知道一套USB键鼠设备是怎么组成的了。
当然,只能用我的升级工具和我提供的升级固件。并且不能破坏原来的固件,有些会搞硬件开发的朋友一旦擦除了原来的固件,就没办法再升级回我的固件。
3.测试流程
为了测试收到的产品是否有问题,请按照以下流程测试产品:
1.把KCOM4的两个USB头都插入本机,观察指示灯是否常亮,常亮代表正常,闪烁代表处于等待升级状态;
2.打开设备管理器,查看端口那一栏有没有CH340设备。如果没有就需要安装CH340驱动。这个驱动是装给主控端的,被控端是免驱的;如果是主控和被控不同电脑的情况下,只需要在主控电脑安装驱动即可。

CH340驱动链接:CH341SER.EXE - 南京沁恒微电子股份有限公司
3.打卡资料中的“KCOM4测试软件V1.0.exe”软件;提供易语言的源代码,自己写脚本可以参考一下;

4.端口号处选择和设备管理器一样的COM号,然后打开串口;左边的标签变成红色代表打开串口成功,灰色代表没有打开串口;

5.点击配置参数区的读取按钮,如果有参数被读会,说明工作正常;

6.其他功能可以直接根据界面显示进行测试;按键类(键盘按键,鼠标按键)都是需要发送松开指令的,否则电脑会一直记录这个按键按下,松开就是把键值改成00发送就是松开了。

用测试软件测试正常,自己写脚本发数据没反应?
这个问题有两种可能:
1.串口配置不对,通信对不上,串口通信配置:波特率-115200,停止位-1,数据位-8,校验位-无;检查脚本的通信配置是否和这个一致;
2.发送的数据格式不对,指令格式都是16进制(hex)格式;自己学习一下自己用的编程语言怎么发16进制串口数据。
相关文章:
KCOM4串口转键鼠控制线测试说明
1.KOCM4介绍 KCOM4是一款最新开发的串口转键盘鼠标控制线,采用32位内核,最大60Mhz的工作频率,完美适用于游戏挂机等应用场景(如果是用在工作电脑控制或展厅电脑控制推荐CH9329双头线)。KCOM4支持普通键盘、相对鼠标、…...
2023华数杯数学建模C题完整5问代码思路分析
目前已经写出2023华数杯C题母亲身心健康对婴儿成长的影响全部5问的完整代码和42页论文(正文30页,论文部分摘要如下: 本文共解决了五个问题,涉及婴儿行为特征、睡眠质量与母亲的身体指标和心理指标的关系,以及如何优化…...
02_kafka_基本概念_基础架构
文章目录 常见的消息队列工作模式基本概念kafka 特性Kafka 基本架构topic 分区的 目的/ 好处 日志存储形式消费者,消费方式 逻辑消费组 高性能写入: 顺序写 mmap读取:零拷贝DMA 使用场景 常见的消息队列工作模式 至多一次:消息被…...
HTTP 常用状态码 301 302 304 403
HTTP 常用状态码 301 302 304 403 301 永久重定向,浏览器会把重定向后的地址缓存起来,将来用户再次访问原始地址时,直接引导用户访问新地址 302 临时重定向,浏览器会引导用户进入新地址,但不会缓存原始地址,…...
分布式 - 服务器Nginx:一小时入门系列之静态网页配置
文章目录 1. 静态文件配置2. nginx listen 命令解析3. nginx server_name 命令解析4. nginx server 端口重复5. nginx location 命令 1. 静态文件配置 在 /home 文件下配置一个静态的AdminLTE后台管理系统: [rootnginx-dev conf.d]# cd /home [rootnginx-dev home…...
kubernetes网络之网络策略-----Network Policies - Example
创建一个Deployment并配置Service 创建一个 nginx Deployment 用于演示 Kubernetes 的 NetworkPolicy: kubectl create deployment nginx --imagenginx 输出结果 deployment.apps/nginx created通过Service暴露该Deployment kubectl expose deployment nginx --po…...
【GDI/GDI+】如何抓取屏幕保存到bitmap文件?
问题 如何抓取屏幕保存到bitmap文件? 方法 GDI 方法 1、抓取。 HBITMAP CRectChartUI::GetBitmap(HDC hDC) {HDC hMemDC;int x, y;int nWidth, nHeight;HBITMAP hBitmap, hOldBitmap;hMemDC CreateCompatibleDC(hDC);nWidth GetDeviceCaps(hDC, HORZRES);nHei…...
HDFS介绍
目录 编辑 一、HDFS基础 1.1 概述 1.2 HDFS的设计目标 1.2.1 硬件故障 1.2.2 流式数据访问 1.2.3 超大数据集 1.2.4 简单的一致性模型 1.2.5 移动计算而不是移动数据 1.2.6 跨异构硬件和软件平台的可移植性 1.3 基础概念 1.3.1 块(Block) 1.3.2 复制…...
每日一题——两数之和
题目 给出一个整型数组 numbers 和一个目标值 target,请在数组中找出两个加起来等于目标值的数的下标,返回的下标按升序排列。 (注:返回的数组下标从1开始算起,保证target一定可以由数组里面2个数字相加得到࿰…...
Maven: ‘mvn‘ is not recognized as an internal or external command
下载并配置好Maven之后,CMD测试安装是否成功:mvn -v 提示: mvn is not recognized as an internal or external command, operable program or batch file. 检查环境变量: MAVEN_HOME: %MAVEN_HOME%\bin: 看上去没问题&#x…...
CubeSLAM: Monocular 3D Object SLAM——论文简述
一、简介 提出一种在动态和静态环境中同时进行3D目标检测和定位建图的方法,并且能够互相提升准确度。具体地,对于3D目标,其位置、方向和尺寸通过slam进行了优化;而3D目标作为slam中的路标,可以提供额外的语义和几何约…...
【雕爷学编程】MicroPython动手做(30)——物联网之Blynk 2
知识点:什么是掌控板? 掌控板是一块普及STEAM创客教育、人工智能教育、机器人编程教育的开源智能硬件。它集成ESP-32高性能双核芯片,支持WiFi和蓝牙双模通信,可作为物联网节点,实现物联网应用。同时掌控板上集成了OLED…...
linux scp 拷贝文件到目标linux系统
scp -P 8866 -r jsonrpc/ root192.168.6.66:/folder_path...
Oracle-expdp报错ORA-39077、06502(Bug-16928674)
问题: 用户在使用expdp进程导出时,出现队列报错ORA-39077、ORA-06502 ORA-31626: job does not exist ORA-31638: cannot attach to job SYS_EXPORT_SCHEMA_01 for user SYS ORA-06512: at "SYS.DBMS_SYS_ERROR", line 95 ORA-06512: at "SYS.KUPV$…...
Kafka入门,保姆级教学
文章目录 Kafka概念消息中间件对比消息中间件对比-选择建议Kafka常用名词介绍Kafka入门1. Kafka安装配置2.Kafka生产者与消费者关系3.Kafka依赖4.生产者发消息5.消费者接受消息6.Kafka高可用性设计6.1集群Kafka备份机制(Reolication) 7.kafka生产者详解7.1 发送类型7.2参数详解…...
RabbitMQ 过期时间(TTL)
TTL,Time to Live的简称,即过期时间,RabbitMQ可以对消息和队列设置TTL。 RabbitMQ支持设置队列的过期时间和消息的过期时间。如果设置队列的过期时间则队列中所有的消息都有相同的过期时间。如果设置消息的过期时间则每条消息的过期时间则可以不同。如两…...
C 语言练习题、持续更新
文章目录 C语言练习题读懂每个练习题才是学好一门代码的重要经历目录(先不要看答案,首先自己做才能更好的领悟,做不来没关系)题目一:有 1、2、3、4 四个数字,能组成多少个互不相同且无重复数字的三位数&…...
Android Q以上后台启动Activity初步尝试
在Android Q以后 google不允许在后台service 广播等等启动Activity 具体请看google文档从后台启动 Activity 的限制 | Android 开发者 | Android Developers 文档里有详细的说明,在哪种情况下可以后台启动Activity。 大体分为以下几种情况: 1、应用具有可见窗口,例如前…...
【torchlars】windows下载github中的torchlars包遇到的问题及解决方案
环境 python3.7 windows10 cuda11.1 pytorch1.8.1 虚拟环境miniconda 目的 windows下载github中的torchlars包 遇到的问题 问题一:直接下载好文件夹输入指令:python setup.py install 出现错误:RuntimeError: Error compiling objects f…...
SolidUI社区-通用Prompt技巧
背景 随着文本生成图像的语言模型兴起,SolidUI想帮人们快速构建可视化工具,可视化内容包括2D,3D,3D场景,从而快速构三维数据演示场景。SolidUI 是一个创新的项目,旨在将自然语言处理(NLP)与计算机图形学相…...
Vue记事本应用实现教程
文章目录 1. 项目介绍2. 开发环境准备3. 设计应用界面4. 创建Vue实例和数据模型5. 实现记事本功能5.1 添加新记事项5.2 删除记事项5.3 清空所有记事 6. 添加样式7. 功能扩展:显示创建时间8. 功能扩展:记事项搜索9. 完整代码10. Vue知识点解析10.1 数据绑…...
【Oracle APEX开发小技巧12】
有如下需求: 有一个问题反馈页面,要实现在apex页面展示能直观看到反馈时间超过7天未处理的数据,方便管理员及时处理反馈。 我的方法:直接将逻辑写在SQL中,这样可以直接在页面展示 完整代码: SELECTSF.FE…...
转转集团旗下首家二手多品类循环仓店“超级转转”开业
6月9日,国内领先的循环经济企业转转集团旗下首家二手多品类循环仓店“超级转转”正式开业。 转转集团创始人兼CEO黄炜、转转循环时尚发起人朱珠、转转集团COO兼红布林CEO胡伟琨、王府井集团副总裁祝捷等出席了开业剪彩仪式。 据「TMT星球」了解,“超级…...
【论文笔记】若干矿井粉尘检测算法概述
总的来说,传统机器学习、传统机器学习与深度学习的结合、LSTM等算法所需要的数据集来源于矿井传感器测量的粉尘浓度,通过建立回归模型来预测未来矿井的粉尘浓度。传统机器学习算法性能易受数据中极端值的影响。YOLO等计算机视觉算法所需要的数据集来源于…...
涂鸦T5AI手搓语音、emoji、otto机器人从入门到实战
“🤖手搓TuyaAI语音指令 😍秒变表情包大师,让萌系Otto机器人🔥玩出智能新花样!开整!” 🤖 Otto机器人 → 直接点明主体 手搓TuyaAI语音 → 强调 自主编程/自定义 语音控制(TuyaAI…...
前端开发面试题总结-JavaScript篇(一)
文章目录 JavaScript高频问答一、作用域与闭包1.什么是闭包(Closure)?闭包有什么应用场景和潜在问题?2.解释 JavaScript 的作用域链(Scope Chain) 二、原型与继承3.原型链是什么?如何实现继承&a…...
Maven 概述、安装、配置、仓库、私服详解
目录 1、Maven 概述 1.1 Maven 的定义 1.2 Maven 解决的问题 1.3 Maven 的核心特性与优势 2、Maven 安装 2.1 下载 Maven 2.2 安装配置 Maven 2.3 测试安装 2.4 修改 Maven 本地仓库的默认路径 3、Maven 配置 3.1 配置本地仓库 3.2 配置 JDK 3.3 IDEA 配置本地 Ma…...
论文笔记——相干体技术在裂缝预测中的应用研究
目录 相关地震知识补充地震数据的认识地震几何属性 相干体算法定义基本原理第一代相干体技术:基于互相关的相干体技术(Correlation)第二代相干体技术:基于相似的相干体技术(Semblance)基于多道相似的相干体…...
排序算法总结(C++)
目录 一、稳定性二、排序算法选择、冒泡、插入排序归并排序随机快速排序堆排序基数排序计数排序 三、总结 一、稳定性 排序算法的稳定性是指:同样大小的样本 **(同样大小的数据)**在排序之后不会改变原始的相对次序。 稳定性对基础类型对象…...
C/C++ 中附加包含目录、附加库目录与附加依赖项详解
在 C/C 编程的编译和链接过程中,附加包含目录、附加库目录和附加依赖项是三个至关重要的设置,它们相互配合,确保程序能够正确引用外部资源并顺利构建。虽然在学习过程中,这些概念容易让人混淆,但深入理解它们的作用和联…...
