首页 > 系统相关 >wacom 手写笔linux驱动代码

wacom 手写笔linux驱动代码

时间:2025-01-11 09:59:06浏览次数:3  
标签:include protocol Always wacom linux bit 手写笔 Byte define

/*

  • Wacom protocol 4 serial tablet driver
  • This program is free software; you can redistribute it and/or modify it
  • under the terms of the GNU General Public License as published by the
  • Free Software Foundation; either version of 2 of the License, or (at your
  • option) any later version. See the file COPYING in the main directory of
  • this archive for more details.
  • Many thanks to Bill Seremetis, without whom PenPartner support
  • would not have been possible. Thanks to Patrick Mahoney.
  • To do:
    • support pad buttons; (requires access to a model with pad buttons)
    • support (protocol 4-style) tilt (requires access to a > 1.4 rom model)
      */

/*

  • Wacom serial protocol 4 documentation taken from linuxwacom-0.9.9 code,
  • protocol 4 uses 7 or 9 byte of data in the following format:
  • Byte 1
  • bit 7 Sync bit always 1
  • bit 6 Pointing device detected
  • bit 5 Cursor = 0 / Stylus = 1
  • bit 4 Reserved
  • bit 3 1 if a button on the pointing device has been pressed
  • bit 2 P0 (optional)
  • bit 1 X15
  • bit 0 X14
  • Byte 2
  • bit 7 Always 0
  • bits 6-0 = X13 - X7
  • Byte 3
  • bit 7 Always 0
  • bits 6-0 = X6 - X0
  • Byte 4
  • bit 7 Always 0
  • bit 6 B3
  • bit 5 B2
  • bit 4 B1
  • bit 3 B0
  • bit 2 P1 (optional)
  • bit 1 Y15
  • bit 0 Y14
  • Byte 5
  • bit 7 Always 0
  • bits 6-0 = Y13 - Y7
  • Byte 6
  • bit 7 Always 0
  • bits 6-0 = Y6 - Y0
  • Byte 7
  • bit 7 Always 0
  • bit 6 Sign of pressure data; or wheel-rel for cursor tool
  • bit 5 P7; or REL1 for cursor tool
  • bit 4 P6; or REL0 for cursor tool
  • bit 3 P5
  • bit 2 P4
  • bit 1 P3
  • bit 0 P2
  • byte 8 and 9 are optional and present only
  • in tilt mode.
  • Byte 8
  • bit 7 Always 0
  • bit 6 Sign of tilt X
  • bit 5 Xt6
  • bit 4 Xt5
  • bit 3 Xt4
  • bit 2 Xt3
  • bit 1 Xt2
  • bit 0 Xt1
  • Byte 9
  • bit 7 Always 0
  • bit 6 Sign of tilt Y
  • bit 5 Yt6
  • bit 4 Yt5
  • bit 3 Yt4
  • bit 2 Yt3
  • bit 1 Yt2
  • bit 0 Yt1
    */

#include <linux/completion.h>
#include <linux/init.h>
#include <linux/input.h>
#include <linux/interrupt.h>
#include <linux/kernel.h>
#include <linux/module.h>
#include <linux/serio.h>
#include <linux/slab.h>
#include <linux/string.h>

MODULE_AUTHOR(“Julian Squires julian@cipht.net, Hans de Goede hdegoede@redhat.com”);
MODULE_DESCRIPTION(“Wacom protocol 4 serial tablet driver”);
MODULE_LICENSE(“GPL”);

#define REQUEST_MODEL_AND_ROM_VERSION “~#”
#define REQUEST_MAX_COORDINATES “~C\r”
#define REQUEST_CONFIGURATION_STRING “~R\r”
#define REQUEST_RESET_TO_PROTOCOL_IV “\r#”
/*

  • Note: sending “\r$\r” causes at least the Digitizer II to send
  • packets in ASCII instead of binary. “\r#” seems to undo that.
    */

#define COMMAND_START_SENDING_PACKETS “ST\r”
#define COMMAND_STOP_SENDING_PACKETS “SP\r”
#define COMMAND_MULTI_MODE_INPUT “MU1\r”
#define COMMAND_ORIGIN_IN_UPPER_LEFT “OC1\r”
#define COMM

标签:include,protocol,Always,wacom,linux,bit,手写笔,Byte,define
From: https://blog.csdn.net/baidu_37552881/article/details/144872853

相关文章

  • Arch Linux Code-OSS里面空格显示太小了
    Code-OSS是linux版本的vscode,发现在ArchLinuxCode-OSS里面空格显示太小了,网上找了很多方法,有一个ubuntu用户说是第三个一定“第三个一定是monospace”,我无意中发现,其实就是字体的问题,只要你添加的字体足够多就行了,先看一下默认字体状态下的字体显示,就是一个tab确实是4个空......
  • 文件“硬连接”是 Linux 操作系统的缺陷吗,为啥跟微软的文件“软连接”,不一致?
    故事时间假设有个女孩叫 小文件:小文件在硬盘上有个家(inode),地址是2号楼304。这个家里存着她的全部信息:身高、体重(划掉)、兴趣爱好等等。硬链接:相当于【身份证】假如小文件要办两个身份证(硬链接),每个身份证都记录着:这个人住在2号楼304。无论用哪个身份证,都能找到本人只要......
  • Linux开机启动过程
    Linux系统的开机启动过程是一个复杂但有序的序列,它确保系统从硬件初始化到提供一个完全功能的操作环境。以下是这个过程的详细步骤:BIOS/UEFI启动:当计算机加电时,首先执行的是基本输入输出系统(BIOS)或更现代的统一可扩展固件接口(UEFI)。BIOS/UEFI主要负责硬件自检(POST,Power-O......
  • 在Linux中,如何进行系统性能的持续监控?
    在Linux中进行系统性能的持续监控,需要综合运用各种命令行工具和图形化界面工具,以及自动化脚本和第三方监控平台。以下是实现持续监控的一些建议步骤和工具:1.使用基础命令行工具实时查看top:实时查看CPU使用率、内存占用、运行中的进程等基本信息。htop(一个增强版的top):提供......
  • [Linux] 包管理器之【APT】
    序续:《[Linux]Linux中安装软件的方式?-博客园/千千寰宇》《[Linux]包管理器之综述【RPM/DPKG|YUM/APT】-博客园/千千寰宇》概述:包管理器APTAPT:AdvancedPackagingTool(现名)解释:AdvancedPackagingTool(apt),作为原始包管理器DPKG的前端包管理工具(在线包管......
  • 想在linux平台拥有和vs一样的体验模式吗?只需配置一下你的vim便可以轻松达到,让你日常
            ......
  • Linux基础——kail工具
    一、nmap主机发现和端口扫描1、nmap指定源端口eth0发送扫描┌──(root㉿kali2024)-[~]└─#nmap192.168.190.110-eeth0StartingNmap7.94SVN(https://nmap.org)at2025-01-1019:56HKTNmapscanreportfor192.168.190.110Hostisup(0.0018slatency).Nots......
  • day13-Linux系统用户管理知识2
    1.passwd1.1更改密码[root@oldboy~]#passwd更改用户root的密码。新的密码:无效的密码:密码少于8个字符重新输入新的密码:passwd:所有的身份验证令牌已经成功更新。#修改其他用户的密码[root@oldboy~]#passwdoldboy更改用户oldboy的密码。新的密码......
  • Linux连接(NFS)群晖NAS遇到的问题(最终选SetGID+umask)
     说明:公司在寻找存储服务器,分布式太贵,后来找来厂家提供服务器试用一段时间,可以的话再买更高型号的来用,此文章记录整个过程,可能比较杂,等以后有时间再来整理吧。需求:想要在服务器之间共同访问并操作这里的存储,并且还要再Windows上查看(需求又改了Windows上也会做增删改的操作。。)......
  • linux: 文本编辑器vim
    文本编辑器vi的工作模式(vim和vi一致)进入vim的方法方法一:输入vim 文件名此时左下角有"文件名" 文件行数,字符数量方法一:输入vim新文件名此时新建了一个文件并进入vim,左下角有"文件名"[NewFile]灰色的长方形就是光标,输入文字,左下角变成了INSERT表......