AI摘要:本文介绍了如何为小新Pad Pro 12.7解锁手写笔功能,特别是针对未连接官方二代笔的用户。通过分析系统代码,发现只需设置特定的系统属性即可激活手写笔模式。具体步骤包括使用root权限执行命令设置笔的序列号和激活模式,最后重启设备以完成解锁。执行后,手写笔功能将正常工作,且无需恢复出厂设置。

前言

前面已经讲过相关原理以及解决办法了,但是可能对于不会写代码的来说还是有点困难,所以最近又重新看了一下services.jar中的代码逻辑,找到了更简单的方法实现解锁。

解锁思路分析

public final void initSystemProperties() {
    // 1. 这里先读取了 pen.sn (序列号)
    String str = SystemProperties.get("persist.sys.lenovo.pen.sn");
    
    // ... 日志输出 ...
    
    // 2. 关键陷阱在这里!!!
    // 只有当 str (即 SN) 不为空 (!TextUtils.isEmpty(str)) 时
    // 代码才会继续往下执行去读取 persist.vendor.pen
    if (!TextUtils.isEmpty(str) && !BluetoothPenUtils.getInstance().isPicassoPenPad()) {
        str = SystemProperties.get("persist.vendor.pen");
        if ("1,1".equals(str)) {
            updateTpModeStatus(true, 1); // 激活新协议
        } else if ("1,0".equals(str)) {
            updateTpModeStatus(true, 0); // 激活旧协议
        } else {
            updateTpModeStatus(false, 1);
        }
    }
}

第一步因为没有连接过官方笔,系统属性 persist.sys.lenovo.pen.sn(笔的序列号)是空的。导致代码在第一层 if 判断时就会直接退出,不会继续读取 vendor.pen值,所以先设置一个假的SN值。

su
setprop persist.sys.lenovo.pen.sn "HVSK786A"

根据之前的分析(BluetoothPenConnectPolicy.java 和 TouchscreenServiceManager.java)可知,触摸屏激活(即进入手写笔模式)的核心逻辑为:
系统通过蓝牙读取笔的特定特征值(GATT Characteristic),确认是联想官方笔(如 "PALADIN" 或 "PALADIN-C")后,才会调用底层的 HAL 接口切换屏幕模式。
在 BluetoothPenConnectPolicy.java 的 initSystemProperties 方法中,有一段初始化检查逻辑:

public final void initSystemProperties() {
    // ...
    if (!TextUtils.isEmpty(str) && !BluetoothPenUtils.getInstance().isPicassoPenPad()) {
        str = SystemProperties.get("persist.vendor.pen"); // 关键点
        if ("1,1".equals(str)) {
            updateTpModeStatus(true, 1); // 激活模式 1
        } else if ("1,0".equals(str)) {
            updateTpModeStatus(true, 0); // 激活模式 0
        } 
        // ...
    }
}

这段代码意味着,如果系统属性 persist.vendor.pen 被设置为 1,1 或 1,0,由于该方法在蓝牙策略初始化时会被调用(通常是系统启动或蓝牙服务重启时),它会直接激活屏幕。因此我们可以使用以下代码:

su
setprop persist.vendor.pen 1,1

解锁代码

总结一下,如果你未在ZUI15连接二代笔进行“开光”操作,那么手写笔是无法正常触摸书写的,这时候你就需要执行以下代码解锁(必须拥有root权限,adb命令权限不足以修改系统属性):

su
setprop persist.sys.lenovo.pen.sn "HVSK786A"
setprop persist.vendor.pen "1,1"
reboot

以上代码只需要执行一次即可永久有效(不恢复出厂设置),执行以后会重启平板,然后手写笔便直接解锁触摸书写了,如果还需要设置里面手写笔界面解锁全功能可以执行以下代码:

su
settings put global lenovo_pen_status 1
END
本文作者:
文章标题:小新padpro12.7免二代笔开光续
本文地址:https://233.517128.xyz/archives/47.html
版权说明:若无注明,本文皆学习笔记原创,转载请保留文章出处。
最后修改:2026 年 01 月 30 日
如果觉得我的文章对你有用,请随意赞赏