【笔记】Ubuntu下wacom数位板的安装与使用

我的系统是Ubuntu16.04的,wacom ctl671插上可用,不需要安装驱动,但也查到了可以安装的相关驱动:

1.安装驱动

参考https://linuxwacom.github.io/ 

这篇文章给出了三步,分别是内核更新,Wacom驱动安装和libwacom库安装

具体参考 Wacom Table(简体中文)

这里只记录Wacom驱动xf86-input-wacom-0.XX.0的安装:

    解压xf86-input-wacom-0.XX.0.bz2,cd进入文件夹中

    $ ./configure --prefix=/usr
    $ make

查看是否载入Wacom设备:

    $ xsetwacom --list devices

输出:

Wacom Bamboo One M Pen stylus       id: 18    type: STYLUS    
Wacom Bamboo One M Pen eraser       id: 19    type: ERASER

 

2.安装绘图软件Krita(或Gimp*)

Krita安装方法:

    $ sudo add-apt-repository ppa:kritalime/ppa
    $ sudo apt-get update
    $ sudo apt-get install krita
    $ sudo apt-get install krita-l10n
安装中文包(4.2.9不再需要安装中文包): 
    $ sudo apt-get install calligra-l10n-zhcn

 

*Gimp需要单独设置压感,参考 Wacom 数位板在 Linux 下的配置与注意事项 一文:

首先:编辑-输入设备,弹出窗口如下。把所有 Wacom 选项的模式全都改为“屏幕”,然后保存。

 

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Wacom数字签名需要使用Wintab API,Wintab API是用于与Wacom数位板及笔交互的API,这个API提供了许多函数,用于获取、设置、处理数位板和笔的信息。其中包括数字签名功能的实现。 下面是一个简单的Wacom数字签名代码实现的示例: ```c++ #include <windows.h> #include <wintab.h> // 数字签名数据结构 typedef struct tagSigPoint { LONG x; LONG y; LONG pressure; } SIGPOINT; // 数字签名处理函数 void processSignature(HWND hWnd, HCTX hCtx, SIGPOINT* pSignature, int nCount) { // 在这里进行数字签名的处理,例如保存签名数据到文件中 } // Wintab数字签名主函数 void WintabSignature(HWND hWnd) { AXIS tabletX, tabletY, pressure; HCTX hCtx; UINT maxPkts, pktRate; // 获取Wintab API版本信息 UINT apiVer = ::WTInfo(WTI_INTERFACE, IFC_SPECVERSION, NULL); // 打开数位板上下文 LOGCONTEXT lcMine; BOOL bResult = ::WTGet(WTI_DEFCONTEXT, &lcMine); if (!bResult) { return; } // 设置数位板上下文 lcMine.lcOptions |= CXO_MESSAGES; lcMine.lcOptions |= CXO_SYSTEM; lcMine.lcPktData = PACKETDATA; lcMine.lcPktMode = PACKETMODE; lcMine.lcMoveMask = PACKETDATA; lcMine.lcBtnUpMask = lcMine.lcBtnDnMask; // 打开数位板上下文 hCtx = ::WTCtxOpen(hWnd, &lcMine, TRUE); if (hCtx == NULL) { return; } // 获取数位板坐标轴范围 ::WTInfo(WTI_DEVICES, DVC_X, &tabletX); ::WTInfo(WTI_DEVICES, DVC_Y, &tabletY); ::WTInfo(WTI_DEVICES, DVC_NPRESSURE, &pressure); // 获取最大数据包数量和速率 ::WTInfo(WTI_DEVICES, DVC_PKTRATE, &pktRate); maxPkts = ::WTInfo(WTI_DEVICES, DVC_PKTSIZE, NULL); // 开始捕捉数位板上的数据包 SIGPOINT signature[1024]; int i = 0; int nCount = 0; while (TRUE) { PKT pkt; bResult = ::WTPacket(hCtx, 0, &pkt); if (bResult) { // 将坐标转换为屏幕坐标 signature[i].x = MulDiv(pkt.pkX, GetSystemMetrics(SM_CXSCREEN), tabletX.axMax); signature[i].y = MulDiv(pkt.pkY, GetSystemMetrics(SM_CYSCREEN), tabletY.axMax); signature[i].pressure = MulDiv(pkt.pkNormalPressure, 255, pressure.axMax); // 判断是否为最后一个数据包 if (pkt.pkStatus & PK_END) { nCount = i + 1; break; } i++; if (i > maxPkts) { break; } } } // 处理数字签名数据 processSignature(hWnd, hCtx, signature, nCount); // 关闭数位板上下文 ::WTClose(hCtx); } ``` 在这个示例中,我们使用了Wintab API中的WTGet、WTInfo、WTPacket、WTClose等函数来打开、设置、获取和关闭数位板上下文,并在循环中获取数位板数据包,将其转换为屏幕坐标,并保存到签名数据结构中。最后,我们将签名数据传递给processSignature函数进行处理。 需要注意的是,该示例仅为演示Wacom数字签名的基本实现方式,实际应用中还需要进行更多的处理,例如对签名数据进行加密和验证等。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值