当前位置: 首页 > 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)与计算机图形学相…...

【Python】 -- 趣味代码 - 小恐龙游戏

文章目录 文章目录 00 小恐龙游戏程序设计框架代码结构和功能游戏流程总结01 小恐龙游戏程序设计02 百度网盘地址00 小恐龙游戏程序设计框架 这段代码是一个基于 Pygame 的简易跑酷游戏的完整实现,玩家控制一个角色(龙)躲避障碍物(仙人掌和乌鸦)。以下是代码的详细介绍:…...

渗透实战PortSwigger靶场-XSS Lab 14:大多数标签和属性被阻止

<script>标签被拦截 我们需要把全部可用的 tag 和 event 进行暴力破解 XSS cheat sheet&#xff1a; https://portswigger.net/web-security/cross-site-scripting/cheat-sheet 通过爆破发现body可以用 再把全部 events 放进去爆破 这些 event 全部可用 <body onres…...

HTML 列表、表格、表单

1 列表标签 作用&#xff1a;布局内容排列整齐的区域 列表分类&#xff1a;无序列表、有序列表、定义列表。 例如&#xff1a; 1.1 无序列表 标签&#xff1a;ul 嵌套 li&#xff0c;ul是无序列表&#xff0c;li是列表条目。 注意事项&#xff1a; ul 标签里面只能包裹 li…...

Windows安装Miniconda

一、下载 https://www.anaconda.com/download/success 二、安装 三、配置镜像源 Anaconda/Miniconda pip 配置清华镜像源_anaconda配置清华源-CSDN博客 四、常用操作命令 Anaconda/Miniconda 基本操作命令_miniconda创建环境命令-CSDN博客...

Java中栈的多种实现类详解

Java中栈的多种实现类详解&#xff1a;Stack、LinkedList与ArrayDeque全方位对比 前言一、Stack类——Java最早的栈实现1.1 Stack类简介1.2 常用方法1.3 优缺点分析 二、LinkedList类——灵活的双端链表2.1 LinkedList类简介2.2 常用方法2.3 优缺点分析 三、ArrayDeque类——高…...

持续交付的进化:从DevOps到AI驱动的IT新动能

文章目录 一、持续交付的本质&#xff1a;从手动到自动的交付飞跃关键特性案例&#xff1a;电商平台的高效部署 二、持续交付的演进&#xff1a;从CI到AI驱动的未来发展历程 ![在这里插入图片描述](https://i-blog.csdnimg.cn/direct/101f72defaf3493ba0ba376bf09367a2.png)中国…...

RabbitMQ work模型

Work 模型是 RabbitMQ 最基础的消息处理模式&#xff0c;核心思想是 ​​多个消费者竞争消费同一个队列中的消息​​&#xff0c;适用于任务分发和负载均衡场景。同一个消息只会被一个消费者处理。 当一个消息队列绑定了多个消费者&#xff0c;每个消息消费的个数都是平摊的&a…...

【VLAs篇】02:Impromptu VLA—用于驱动视觉-语言-动作模型的开放权重和开放数据

项目描述论文标题Impromptu VLA&#xff1a;用于驱动视觉-语言-动作模型的开放权重和开放数据 (Impromptu VLA: Open Weights and Open Data for Driving Vision-Language-Action Models)研究问题自动驾驶的视觉-语言-动作 (VLA) 模型在非结构化角落案例场景中表现不佳&#xf…...

jieba实现和用RNN实现中文分词的区别

Jieba 分词和基于 RNN 的分词在技术路线、实现机制、性能特点上有显著差异&#xff0c;以下是核心对比&#xff1a; 1. 技术路线对比 维度Jieba 分词RNN 神经网络分词范式传统 NLP&#xff08;规则 统计&#xff09;深度学习&#xff08;端到端学习&#xff09;核心依赖词典…...

NoSQL——Redis配置与优化

目录 关系型&非关系型数据库 一、核心原理对比‌ ‌二、核心特性对比‌ ‌三、关键区别剖析‌ ‌四、典型产品示例‌ ‌总结‌ Redis Redis核心原理 核心特性 技术意义 配置文件解析 1. 基础配置 2. 持久化配置 3. 内存管理 4. 高可用配置 5. 性能调优 6.…...