当前位置: 首页 > news >正文

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 临时重定向,浏览器会引导用户进入新地址,但不会缓存原始地址&#xff0c…...

分布式 - 服务器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个数字相加得到&#xff0…...

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)与计算机图形学相…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility

Cilium动手实验室: 精通之旅---20.Isovalent Enterprise for Cilium: Zero Trust Visibility 1. 实验室环境1.1 实验室环境1.2 小测试 2. The Endor System2.1 部署应用2.2 检查现有策略 3. Cilium 策略实体3.1 创建 allow-all 网络策略3.2 在 Hubble CLI 中验证网络策略源3.3 …...

【快手拥抱开源】通过快手团队开源的 KwaiCoder-AutoThink-preview 解锁大语言模型的潜力

引言: 在人工智能快速发展的浪潮中,快手Kwaipilot团队推出的 KwaiCoder-AutoThink-preview 具有里程碑意义——这是首个公开的AutoThink大语言模型(LLM)。该模型代表着该领域的重大突破,通过独特方式融合思考与非思考…...

C++ 基础特性深度解析

目录 引言 一、命名空间(namespace) C 中的命名空间​ 与 C 语言的对比​ 二、缺省参数​ C 中的缺省参数​ 与 C 语言的对比​ 三、引用(reference)​ C 中的引用​ 与 C 语言的对比​ 四、inline(内联函数…...

NLP学习路线图(二十三):长短期记忆网络(LSTM)

在自然语言处理(NLP)领域,我们时刻面临着处理序列数据的核心挑战。无论是理解句子的结构、分析文本的情感,还是实现语言的翻译,都需要模型能够捕捉词语之间依时序产生的复杂依赖关系。传统的神经网络结构在处理这种序列依赖时显得力不从心,而循环神经网络(RNN) 曾被视为…...

DeepSeek 技术赋能无人农场协同作业:用 AI 重构农田管理 “神经网”

目录 一、引言二、DeepSeek 技术大揭秘2.1 核心架构解析2.2 关键技术剖析 三、智能农业无人农场协同作业现状3.1 发展现状概述3.2 协同作业模式介绍 四、DeepSeek 的 “农场奇妙游”4.1 数据处理与分析4.2 作物生长监测与预测4.3 病虫害防治4.4 农机协同作业调度 五、实际案例大…...

九天毕昇深度学习平台 | 如何安装库?

pip install 库名 -i https://pypi.tuna.tsinghua.edu.cn/simple --user 举个例子: 报错 ModuleNotFoundError: No module named torch 那么我需要安装 torch pip install torch -i https://pypi.tuna.tsinghua.edu.cn/simple --user pip install 库名&#x…...

毫米波雷达基础理论(3D+4D)

3D、4D毫米波雷达基础知识及厂商选型 PreView : https://mp.weixin.qq.com/s/bQkju4r6med7I3TBGJI_bQ 1. FMCW毫米波雷达基础知识 主要参考博文: 一文入门汽车毫米波雷达基本原理 :https://mp.weixin.qq.com/s/_EN7A5lKcz2Eh8dLnjE19w 毫米波雷达基础…...

Rust 开发环境搭建

环境搭建 1、开发工具RustRover 或者vs code 2、Cygwin64 安装 https://cygwin.com/install.html 在工具终端执行: rustup toolchain install stable-x86_64-pc-windows-gnu rustup default stable-x86_64-pc-windows-gnu ​ 2、Hello World fn main() { println…...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持:CMake支持多种操作系统和编译器,使用同一份构建配置可以在不同的环境中使用 简化配置:通过CMakeLists.txt文件,用户可以定义项目结构、依赖项、编译选项等,无需手动编写复杂的构建脚本…...