触摸的信息,是触摸屏这样的触摸设备向 input core 上报 MT 消息传递的。
这些 MT消息,可以通过 设备文件的接口,被应用程序读取到。

将 multi-touch-protocol.txt 文档翻译了一下,有些地方感觉理解得不太正确,还请指正。
可以在内核目录中找到这个文件:Documentation/input/multi-touch-protocol.txt

----------------------------------------------------------------------------------------------------------------------

[en] Multi-touch (MT) Protocol
[zh] 多点触摸(MT)协议
-------------------------
[en]    Copyright (C) 2009-2010    Henrik Rydberg <rydberg@euromail.se>

[en]Introduction
[zh]介绍
------------

[en] In order to utilize the full power of the new multi-touch and multi-user
[en] devices, a way to report detailed data from multiple contacts, i.e.,
[en] objects in direct contact with the device surface, is needed.  This
[en] document describes the multi-touch (MT) protocol which allows kernel
[en] drivers to report details for an arbitrary number of contacts.
[zh] 为了发挥新出现的多点触摸设备、多用户同时操作设备的全部能力,
[zh] 需要一种能够报告多个触摸点的数据的方法。
[zh] 本文档介绍的内容是多点触摸协议,它允许内核驱动程序上报任意多个触摸点的信息。
[zh] 译者注:多点触摸设备,比如iphone4的触摸屏。
[zh] 译者注:多用户操作设备,比如电子黑板的书写笔,允许多个用户各用一支笔,并且同时各写各的。

[en] The protocol is divided into two types, depending on the capabilities of the
[en] hardware. For devices handling anonymous contacts (type A), the protocol
[en] describes how to send the raw data for all contacts to the receiver. For
[en] devices capable of tracking identifiable contacts (type B), the protocol
[en] describes how to send updates for individual contacts via event slots.
[zh] 依据硬件设备的能力,本协议分成两种类型。
[zh] type A:触摸点不能被区分和追踪,本协议描述如何上报这些原始数据给监听者。
[zh] type B:硬件有能力追踪并区分触摸点,本协议描述如何通过slot更新某一个触摸点的信息。

[en]Protocol Usage
[zh]协议的使用方法
--------------

[en] Contact details are sent sequentially as separate packets of ABS_MT
[en] events. Only the ABS_MT events are recognized as part of a contact
[en] packet. Since these events are ignored by current single-touch (ST)
[en] applications, the MT protocol can be implemented on top of the ST protocol
[en] in an existing driver.
[zh] 触摸点的信息是通过一串ABS_MT系列的消息上报的。
[zh] 只有ABS_MT系列的消息是当做多点触摸消息识别的,
[zh] 因为目前只对应了单点触摸(ST)的应用程序会忽略掉这些消息,
[zh] 所以已有的驱动程序可以在单点触摸协议之上独立实现多点触摸协议。
[zh] -------------------------
[zh] 在 <linux/input.h> 中定义的:
[zh] #define ABS_MT_SLOT         0x2f    /* MT slot being modified */
[zh] #define ABS_MT_TOUCH_MAJOR  0x30    /* Major axis of touching ellipse */
[zh] #define ABS_MT_TOUCH_MINOR  0x31    /* Minor axis (omit if circular) */
[zh] #define ABS_MT_WIDTH_MAJOR  0x32    /* Major axis of approaching ellipse */
[zh] #define ABS_MT_WIDTH_MINOR  0x33    /* Minor axis (omit if circular) */
[zh] #define ABS_MT_ORIENTATION  0x34    /* Ellipse orientation */
[zh] #define ABS_MT_POSITION_X   0x35    /* Center X ellipse position */
[zh] #define ABS_MT_POSITION_Y   0x36    /* Center Y ellipse position */
[zh] #define ABS_MT_TOOL_TYPE    0x37    /* Type of touching device */
[zh] #define ABS_MT_BLOB_ID      0x38    /* Group a set of packets as a blob */
[zh] #define ABS_MT_TRACKING_ID  0x39    /* Unique ID of initiated contact */
[zh] #define ABS_MT_PRESSURE     0x3a    /* Pressure on contact area */
[zh] #define ABS_MT_DISTANCE     0x3b    /* Contact hover distance */

[en] Drivers for type A devices separate contact packets by calling
[en] input_mt_sync() at the end of each packet. This generates a SYN_MT_REPORT
[en] event, which instructs the receiver to accept the data for the current
[en] contact and prepare to receive another.
[zh] 对于type A设备的驱动程序,在上报某个触摸点信息的最后,
[zh] 通过调用input_mt_sync()隔开不通触摸点的信息。
[zh] 调用input_mt_sync()会产生一个SYN_MT_REPORT消息,
[zh] 这个消息会触发接受者获取到某一个触摸点的信息,并准备接收下一个触摸点信息。

[en] Drivers for type B devices separate contact packets by calling
[en] input_mt_slot(), with a slot as argument, at the beginning of each packet.
[en] This generates an ABS_MT_SLOT event, which instructs the receiver to
[en] prepare for updates of the given slot.
[zh] 对于type B设备的驱动程序,在开始上报某个触摸点信息的时候,
[zh] 调用input_mt_slot()用于区分是哪一个触摸点的信息,传递slot作为参数。
[zh] 通过调用input_mt_slot()会产生一个SYN_MT_REPORT消息,
[zh] 这个消息告诉接收者正在针对哪个slot更新信息。

[en] All drivers mark the end of a multi-touch transfer by calling the usual
[en] input_sync() function. This instructs the receiver to act upon events
[en] accumulated since last EV_SYN/SYN_REPORT and prepare to receive a new set
[en] of events/packets.
[zh] 驱动程序通常调用input_sync()标示多点触摸信息传输结束。
[zh] 调用input_sync()会触发接收者处理上次input_sync()到这次input_sync()之间累积的所有消息。
[zh] 并让接收者准备下一次接收。

[en] The main difference between the stateless type A protocol and the stateful
[en] type B slot protocol lies in the usage of identifiable contacts to reduce
[en] the amount of data sent to userspace. The slot protocol requires the use of
[en] the ABS_MT_TRACKING_ID, either provided by the hardware or computed from
[en] the raw data [5].
[zh] type B协议和type A协议相比,最大的区别是能够识别某一个触摸点,
[zh] 因此能够减少发送给用户空间的数据。
[zh] 要使用slot 区分触摸点,需要使用ABS_MT_TRACKING_ID 这个消息,
[zh] 这个ID可以是来自于硬件的,也可以是从原始数据计算得来的。

[en] For type A devices, the kernel driver should generate an arbitrary
[en] enumeration of the full set of anonymous contacts currently on the
[en] surface. The order in which the packets appear in the event stream is not
[en] important.  Event filtering and finger tracking is left to user space [3].
[zh] type A设备的驱动程序,需要一次性将当前触摸屏上的所有触摸点的信息全部上报。
[zh] 上报消息的顺序并不重要,因为消息的过滤和触摸点的跟踪是在用户空间处理的。

[en] For type B devices, the kernel driver should associate a slot with each
[en] identified contact, and use that slot to propagate changes for the contact.
[en] Creation, replacement and destruction of contacts is achieved by modifying
[en] the ABS_MT_TRACKING_ID of the associated slot.  A non-negative tracking id
[en] is interpreted as a contact, and the value -1 denotes an unused slot.  A
[en] tracking id not previously present is considered new, and a tracking id no
[en] longer present is considered removed.  Since only changes are propagated,
[en] the full state of each initiated contact has to reside in the receiving
[en] end.  Upon receiving an MT event, one simply updates the appropriate
[en] attribute of the current slot.
[zh] type B设备的驱动程序,需要给已经识别的触摸点分配一个slot,
[zh] 并且用这个slot上报这个触摸点的变化信息。
[zh] 通过修改slot的ABS_MT_TRACKING_ID,可以实现新增加、替换,去除触摸点。
[zh] 非负数的 ID 被认为是触摸点, -1 的 ID被认为是未使用的slot。
[zh] 一个以前不存在的 ID 出现了表示是一个新的,一个 ID 不存在了表示 删除了。
[zh] 因为只有变化的信息被上报,因此每一个触摸点的完整信息必须放在接收端进行维护。
[zh] 根据接收到的MT(MultiTouch)消息,应用程序更新当前slot的相关属性。


[en] Some devices identify and/or track more contacts than they can report to the
[en] driver.  A driver for such a device should associate one type B slot with each
[en] contact that is reported by the hardware.  Whenever the identity of the
[en] contact associated with a slot changes, the driver should invalidate that
[en] slot by changing its ABS_MT_TRACKING_ID.  If the hardware signals that it is
[en] tracking more contacts than it is currently reporting, the driver should use
[en] a BTN_TOOL_*TAP event to inform userspace of the total number of contacts
[en] being tracked by the hardware at that moment.  The driver should do this by
[en] explicitly sending the corresponding BTN_TOOL_*TAP event and setting
[en] use_count to false when calling input_mt_report_pointer_emulation().
[en] The driver should only advertise as many slots as the hardware can report.
[en] Userspace can detect that a driver can report more total contacts than slots
[en] by noting that the largest supported BTN_TOOL_*TAP event is larger than the
[en] total number of type B slots reported in the absinfo for the ABS_MT_SLOT axis.
[zh] 一些设备识别或者追踪的触摸点比它报告给驱动程序它能够识别的要多。
[zh] 这些设备的驱动应该将每一个触摸点上报成 type B类型的slot信息。
[zh] 一旦某一个slot关联的触摸点的ID发生变化,
[zh] 驱动程序应该改变这个slot的ABS_MT_TRACKING_ID让slot变为无效。
[zh] 如果硬件设备告诉驱动程序他正在追踪比他能力多的触摸点,
[zh] 那么驱动程序应该上报BTN_TOOL_*TAP消息给用户程序,告知当前硬件设备追踪的触摸点总数。
[zh] 方法是:
[zh] 1. 显示地发送 BTN_TOOL_*TAP 消息,
[zh] 2. 并且调用input_mt_report_pointer_emulation(),设置 use_count 为 false。
[zh] 驱动程序上报的slot总数应该和硬件设备能够支持的总数一致,
[zh] 用户程序通过 对比 BTN_TOOL_*TAP信息中的slot总数和 ABS_MT_SLOT 中的 absinfo 中的 slot总数对比,
[zh] 能够检测出来驱动程序上报的触摸点总数超过了slot总数。
[zh] -------------------------
[zh] 在 <linux/input.h> 中定义的:
[zh] #define BTN_TOOL_FINGER     0x145
[zh] #define BTN_TOOL_DOUBLETAP  0x14d
[zh] #define BTN_TOOL_TRIPLETAP  0x14e
[zh] #define BTN_TOOL_QUADTAP    0x14f   /* Four fingers on trackpad */
[zh] #define BTN_TOOL_QUINTTAP   0x148   /* Five fingers on trackpad */


[en] Protocol Example A
[zh] 协议举例: type A
------------------

[en] Here is what a minimal event sequence for a two-contact touch would look
[en] like for a type A device:
[zh] 这是一个针对 type A 设备的, 2个触摸点的最小消息时序。

ABS_MT_POSITION_X x[0]
ABS_MT_POSITION_Y y[0]
SYN_MT_REPORT
ABS_MT_POSITION_X x[1]
ABS_MT_POSITION_Y y[1]
SYN_MT_REPORT
SYN_REPORT

[en] The sequence after moving one of the contacts looks exactly the same; the
[en] raw data for all present contacts are sent between every synchronization
[en] with SYN_REPORT.
[zh] 移走任何一个触摸点的时序应该都是一致的。
[zh] 针对每一个当前还在的触摸点,信息应该在SYN_REPORT之前上报。

[en] Here is the sequence after lifting the first contact:
[zh] 这是移走其中一个触摸点的时序。

ABS_MT_POSITION_X x[1]
ABS_MT_POSITION_Y y[1]
SYN_MT_REPORT
SYN_REPORT

[en] And here is the sequence after lifting the second contact:
[zh] 这是移走第二个触摸点的时序。

SYN_MT_REPORT
SYN_REPORT

[en] If the driver reports one of BTN_TOUCH or ABS_PRESSURE in addition to the
[en] ABS_MT events, the last SYN_MT_REPORT event may be omitted. Otherwise, the
[en] last SYN_REPORT will be dropped by the input core, resulting in no
[en] zero-contact event reaching userland.
[zh] 如果驱动程序想要附加BTN_TOUCH或者ABS_PRESSURE消息给ABS_MT消息,
[zh] 那么最后一个SYN_MT_REPORT消息可以被省略。
[zh] 除此之外,SYN_MT_REPORT不能被省略,
[zh] 如果最后一个SYN_MT_REPORT被省略,
[zh] SYN_REPORT消息会被内核的input core丢弃,导致“没有触摸点了”的消息无法到达用户空间。

[en] Protocol Example B
[zh] 协议举例: type B
------------------

[en] Here is what a minimal event sequence for a two-contact touch would look
[en] like for a type B device:
[zh] 这是一个针对 type B 设备的, 2个触摸点的最小消息时序。

ABS_MT_SLOT 0
ABS_MT_TRACKING_ID 45
ABS_MT_POSITION_X x[0]
ABS_MT_POSITION_Y y[0]
ABS_MT_SLOT 1
ABS_MT_TRACKING_ID 46
ABS_MT_POSITION_X x[1]
ABS_MT_POSITION_Y y[1]
SYN_REPORT

[en] Here is the sequence after moving contact 45 in the x direction:
[zh] 这是向 X轴方向移动 ID 为 45的触摸点的时序。

[en]    ABS_MT_SLOT 0
[en]    ABS_MT_POSITION_X x[0]

[en]    SYN_REPORT

[en] Here is the sequence after lifting the contact in slot 0:

[zh] 这是移走其中一个触摸点( slot 0 )的时序。

[en]    ABS_MT_TRACKING_ID -1

[en]    SYN_REPORT

The slot being modified is already 0, so the ABS_MT_SLOT is omitted.  Themessage removes the association of slot 0 with contact 45, therebydestroying contact 45 and freeing slot 0 to be reused for another contact

.[zh] 正在被编辑的slot已经是slot 0了,所以ABS_MT_SLOT消息就省略了。这串消息将slot 0和触摸点ID 为 45之间的联系删除,

也就是触摸点ID 为 45的被删除了, slot 0 可以给其他的触摸点使用了。

[en] Finally, here is the sequence after lifting the second contact:

[zh] 最后是移走第二个触摸点的时序。  

ABS_MT_SLOT 1   ABS_MT_TRACKING_ID -1   SYN_REPORT

[en] Event Usage

[zh] 消息使用方法-----------

[en] A set of ABS_MT events with the desired properties is defined. The events[en] are divided into categories, to allow for partial implementation.  The minimum set consists of ABS_MT_POSITION_X and ABS_MT_POSITION_Y, which allows for multiple contacts to be tracked.  If the device supports it, the[en] ABS_MT_TOUCH_MAJOR and ABS_MT_WIDTH_MAJOR may be used to provide the size of the contact area and approaching contact, respectively.[zh] 一套ABS_MT消息在内核中已经被定义了。[zh] 这些消息分成多个类别,用于开发者按照自己喜欢的方式开发。[zh] 最小的组合是ABS_MT_POSITION_X和ABS_MT_POSITION_Y消息,用于跟踪多个触摸点的位置。[zh] 如果外部设备支持的话,[zh] 还可以用ABS_MT_TOUCH_MAJOR和ABS_MT_WIDTH_MAJOR这两个消息上报触摸面积的信息。[en] The TOUCH and WIDTH parameters have a geometrical interpretation; imagine[en] looking through a window at someone gently holding a finger against the[en] glass.  You will see two regions, one inner region consisting of the part[en] of the finger actually touching the glass, and one outer region formed by[en] the perimeter of the finger. The diameter of the inner region is the[en] ABS_MT_TOUCH_MAJOR, the diameter of the outer region is[en] ABS_MT_WIDTH_MAJOR. Now imagine the person pressing the finger harder[en] against the glass. The inner region will increase, and in general, the[en] ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR, which is always smaller than[en] unity, is related to the contact pressure. For pressure-based devices,[en] ABS_MT_PRESSURE may be used to provide the pressure on the contact area[en] instead. Devices capable of contact hovering can use ABS_MT_DISTANCE to[en] indicate the distance between the contact and the surface.[zh] TOUCH和WITH是有几何意义的。[zh] 想象一下,有个人的手指头压着一片玻璃,我们从玻璃这边看手指头。[zh] 可以看到2个区域,中间的区域是实际压着的部分,外面那个区域是手指头在玻璃上的投影。[zh] 中间区域的直径 就是ABS_MT_TOUCH_MAJOR。[zh] 外面大得区域的直径 就是ABS_MT_WIDTH_MAJOR。[zh] 现在想象一下,压的力气变大一些,里面的区域就会变大,[zh] ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR 的值就能反映压力的大小,[zh] 这个值通常是小于1的。[zh] 对于支持压力检测的设备来说,ABS_MT_PRESSURE可以用来替代按压面积,上报压力。[zh] 对于支持haovring的设备来说,可以使用ABS_MT_DISTANCE来表明手指和触摸屏表面的距离。[en] In addition to the MAJOR parameters, the oval shape of the contact can be[en] described by adding the MINOR parameters, such that MAJOR and MINOR are the[en] major and minor axis of an ellipse. Finally, the orientation of the oval[en] shape can be describe with the ORIENTATION parameter.[zh] 作为MAJOR的补充,触摸点的椭圆形的形状,还可以用MINOR来说明。[zh] MAJOR和MINOR分别表示最长的方向和短一些的那个方向。[zh] 最后也可以用ORIENTATION来说明这个椭圆的方位,是不是水平的。[en] For type A devices, further specification of the touch shape is possible[en] via ABS_MT_BLOB_ID.[zh] 对于type A类型的设备而言,触摸点形状的更多特征还可以使用ABS_MT_BLOB_ID消息进行通知。[en] The ABS_MT_TOOL_TYPE may be used to specify whether the touching tool is a[en] finger or a pen or something else. Finally, the ABS_MT_TRACKING_ID event[en] may be used to track identified contacts over time [5].[zh] ABS_MT_TOOL_TYPE可以用来说明触摸的工具是手指、笔或者其他的什么。[zh] 最后,ABS_MT_TRACKING_ID消息可以用来跟踪被识别的触摸点。[en] In the type B protocol, ABS_MT_TOOL_TYPE and ABS_MT_TRACKING_ID are[en] implicitly handled by input core; drivers should instead call[en] input_mt_report_slot_state().[zh] 对于type B类型的设备,[zh] ABS_MT_TOOL_TYPE 和 ABS_MT_TRACKING_ID 会被 input core 在暗地里处理。[zh] 因此驱动程序应该调用 input_mt_report_slot_state()。[en] Event Semantics[zh] 消息含义---------------ABS_MT_TOUCH_MAJOR[en] The length of the major axis of the contact. The length should be given in[en] surface units. If the surface has an X times Y resolution, the largest[en] possible value of ABS_MT_TOUCH_MAJOR is sqrt(X^2 + Y^2), the diagonal [4].[zh] 触摸点椭圆形最长的那个方向的直径。[zh] 这个长度应该是触摸表面的长度单位,[zh] 如果触摸表面的X是Y的几倍(矩形),[zh] 那么ABS_MT_TOUCH_MAJOR的长度最长为 ( x平方 +  y平方 )开根号,也就是对角线的长度。ABS_MT_TOUCH_MINOR[en] The length, in surface units, of the minor axis of the contact. If the[en] contact is circular, this event can be omitted [4].[zh] 触摸点椭圆形短一点的那个方向的直径,如果是圆形,ABS_MT_TOUCH_MINOR可以省略。ABS_MT_WIDTH_MAJOR[en] The length, in surface units, of the major axis of the approaching[en] tool. This should be understood as the size of the tool itself. The[en] orientation of the contact and the approaching tool are assumed to be the[en] same [4].[zh] 以触摸面的长度单位为单位的触摸工具,在触摸面上的最长的长度,[zh] 这个长度可以理解为触摸工具本身的长度。[zh] 触摸点和触摸工具的水平方向假设是一致的。ABS_MT_WIDTH_MINOR[en] The length, in surface units, of the minor axis of the approaching[en] tool. Omit if circular [4].[zh] 以触摸面的长度单位为单位的触摸工具,在触摸面上的短一点的长度。[zh] 如果是圆形可以省略。[en] The above four values can be used to derive additional information about[en] the contact. The ratio ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR approximates[en] the notion of pressure. The fingers of the hand and the palm all have[en] different characteristic widths [1].[zh] 上面的4个数据可以用来传递触摸点的一些额外信息。[zh] ABS_MT_TOUCH_MAJOR / ABS_MT_WIDTH_MAJOR 的比值用来估计压力的大小。[zh] 这些宽度信息也可以用于识别手指还是手掌。(手掌比手指要宽)ABS_MT_PRESSURE[en] The pressure, in arbitrary units, on the contact area. May be used instead[en] of TOUCH and WIDTH for pressure-based devices or any device with a spatial[en] signal intensity distribution.[zh] 触摸点的压力大小,可以是任意衡量单位。[zh] 对于能够测量压力的设备,可以用来替代TOUCH 和 WIDTH。ABS_MT_DISTANCE[en] The distance, in surface units, between the contact and the surface. Zero[en] distance means the contact is touching the surface. A positive number means[en] the contact is hovering above the surface.[zh] 手指头距离触摸屏表面的距离,以触摸面的长度单位为单位。[zh] 0意味着已经接触到触摸屏。[zh] 大于0的数是指手指头在触摸屏上面的高度。ABS_MT_ORIENTATION[en] The orientation of the ellipse. The value should describe a signed quarter[en] of a revolution clockwise around the touch center. The signed value range[en] is arbitrary, but zero should be returned for a finger aligned along the Y[en] axis of the surface, a negative value when finger is turned to the left, and[en] a positive value when finger turned to the right. When completely aligned with[en] the X axis, the range max should be returned.  Orientation can be omitted[en] if the touching object is circular, or if the information is not available[en] in the kernel driver. Partial orientation support is possible if the device[en] can distinguish between the two axis, but not (uniquely) any values in[en] between. In such cases, the range of ABS_MT_ORIENTATION should be [0, 1][en] [4].[zh] 椭圆形触摸点的方向(水平还是垂直)。[zh] 它的值应该是有符号的、和旋转方向有关、90度为一个周期的。[zh] 取值范围是有符号的,取值范围可以任意定,[zh] 但0应该表示为长轴沿着Y方向,[zh] 负数表示逆时针旋转了,正数表示顺时针旋转了。[zh] 长轴方向如果完全变成X方向,那么值就变成最大的了。[zh] 如果触摸点的形状是圆形,或者得不到形状信息,可以不上报ABS_MT_ORIENTATION这个消息。[zh] 如果设备只能检测到是水平或者是垂直信息,那么ABS_MT_ORIENTATION的值就应该是0或者1。ABS_MT_POSITION_X[en] The surface X coordinate of the center of the touching ellipse.[zh] 触摸中心位置的X轴坐标。ABS_MT_POSITION_Y[en] The surface Y coordinate of the center of the touching ellipse.[zh] 触摸中心位置的Y轴坐标。ABS_MT_TOOL_TYPE[en] The type of approaching tool. A lot of kernel drivers cannot distinguish[en] between different tool types, such as a finger or a pen. In such cases, the[en] event should be omitted. The protocol currently supports MT_TOOL_FINGER and[en] MT_TOOL_PEN [2]. For type B devices, this event is handled by input core;[en] drivers should instead use input_mt_report_slot_state().[zh] 触摸工具类型,很多内核驱动都不能区分是什么触摸工具,比如是手指还是笔。[zh] 如果是这样的内核驱动,那么应该省略掉这个消息。[zh] 目前的多点触摸协议支持 MT_TOOL_FINGER 和 MT_TOOL_PEN。[zh] 对于 type B 类型的设备,这个消息是在 input core 处理的,[zh] 因此驱动程序应该调用 input_mt_report_slot_state() 上报触摸工具的类型。ABS_MT_BLOB_ID[en] The BLOB_ID groups several packets together into one arbitrarily shaped[en] contact. The sequence of points forms a polygon which defines the shape of[en] the contact. This is a low-level anonymous grouping for type A devices, and[en] should not be confused with the high-level trackingID [5]. Most type A[en] devices do not have blob capability, so drivers can safely omit this event.[zh] 将多个坐标消息组合成一个BLOB_ID,用于描述触摸点的形状。[zh] 多个点的信息按照一定顺序上报,能够形成一个代表触摸点形状的多边形。[zh] 这个是针对 type A 的更底层的信息打包,不要和 高级的 TRACKING ID 弄混了。[zh] 大部分 type A 的设备并不支持这个功能,所以驱动程序忽略掉这个消息也没有关系。ABS_MT_TRACKING_ID[en] The TRACKING_ID identifies an initiated contact throughout its life cycle[en] [5]. The value range of the TRACKING_ID should be large enough to ensure[en] unique identification of a contact maintained over an extended period of[en] time. For type B devices, this event is handled by input core; drivers[en] should instead use input_mt_report_slot_state().[zh] TRACKING ID用来追踪和识别压下到提起期间的某一个触摸点。[zh] TRACKING ID的取值范围应该是足够大的,用于更方便区分是哪一个触摸点。[zh] 对于 type B 类型的设备,这个消息是 input core 内部处理的,[zh] 驱动程序应该调用 input_mt_report_slot_state() 来告诉input core当前slot是否是无效了。[en] Event Computation[zh] 消息的处理-----------------[en] The flora of different hardware unavoidably leads to some devices fitting[en] better to the MT protocol than others. To simplify and unify the mapping,[en] this section gives recipes for how to compute certain events.[zh] 由于硬件设备众多,其中的一些设备比其他的设备,更容易编写多点触摸协议的驱动。[zh] 为了简化和统一驱动程序的处理方式,这个章节给出了驱动程序对于主要消息的处理方式的建议。[en] For devices reporting contacts as rectangular shapes, signed orientation[en] cannot be obtained. Assuming X and Y are the lengths of the sides of the[en] touching rectangle, here is a simple formula that retains the most[en] information possible:[zh] 如果设备提供的触摸点信息是矩形,有符号的水平位置信息就无法获取到。[zh] 假设X和Y是矩形的两个边长,下面的计算方法可以得到最主要的信息。   ABS_MT_TOUCH_MAJOR := max(X, Y)   ABS_MT_TOUCH_MINOR := min(X, Y)   ABS_MT_ORIENTATION := bool(X > Y)[en] The range of ABS_MT_ORIENTATION should be set to [0, 1], to indicate that[en] the device can distinguish between a finger along the Y axis (0) and a[en] finger along the X axis (1).[zh] ABS_MT_ORIENTATION 的范围应该是 0 或者 1,[zh] 用于表明设备能够区分手指是Y方向还是X方向的。[en] Finger Tracking[zh] 手指的追踪---------------[en] The process of finger tracking, i.e., to assign a unique trackingID to each[en] initiated contact on the surface, is a Euclidian Bipartite Matching[en] problem.  At each event synchronization, the set of actual contacts is[en] matched to the set of contacts from the previous synchronization. A full[en] implementation can be found in [3].[zh] 给触摸点分配一个唯一的 TRACKING ID 的判断方法,是几何问题。[zh] 每次进行消息同步的时候,本次同步的触摸点信息会和上次同步的触摸点信息进行匹配。[zh] 你可以在mtdev项目中找到如何匹配的具体的实现。[en] Gestures[zh] 手势--------[en] In the specific application of creating gesture events, the TOUCH and WIDTH[en] parameters can be used to, e.g., approximate finger pressure or distinguish[en] between index finger and thumb. With the addition of the MINOR parameters,[en] one can also distinguish between a sweeping finger and a pointing finger,[en] and with ORIENTATION, one can detect twisting of fingers.[zh] 对于手势识别的这类程序,可以使用 TOUCH 和 WIDTH 信息来识别压力的大小,或者区分哪个是食指,哪个是拇指。[zh] 如果还有 MINOR 信息的话,还可以识别是滑动的手指或是轻轻点得手指。(没太看懂 sweeping 和 pointing )[zh] 如果有 ORIENTATION 信息的话,也可以识别出来手指的转动。[en] Notes[zh] 备注-----[en] In order to stay compatible with existing applications, the data reported[en] in a finger packet must not be recognized as single-touch events.[zh] 为了让已有的应用程序也兼容多点触摸协议,驱动程序不应该将多点触摸消息上报成单点触摸消息。[en] For type A devices, all finger data bypasses input filtering, since[en] subsequent events of the same type refer to different fingers.[zh] 对于 type A 的设备而言,所有的触摸信息都会绕开 input core 的过滤处理,[zh] 因为相同的消息出现2次也许是针对不同的触摸点。(如果被过滤,就变成一个了)[en] For example usage of the type A protocol, see the bcm5974 driver. For[en] example usage of the type B protocol, see the hid-egalax driver.[zh] type A设备可以参考 bcm5974 的驱动。[zh] type B设备可以参考 hid-egalax 的驱动。[en] [1] With the extension ABS_MT_APPROACH_X and ABS_MT_APPROACH_Y, the[en] difference between the contact position and the approaching tool position[en] could be used to derive tilt.[zh] [1]通过扩展的 ABS_MT_APPROACH_X 和 ABS_MT_APPROACH_Y 消息,可以传递 触摸工具的坐标位置信息。[zh] 如果和 触摸点坐标 进行比较的话,可以判断出来触摸工具是否是倾斜的。[en] [2] The list can of course be extended.[en] [3] The mtdev project: http://bitmath.org/code/mtdev/.[en] [4] See the section on event computation.[en] [5] See the section on finger tracking.

查看全文
如若内容造成侵权/违法违规/事实不符,请联系编程学习网邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!

相关文章

  1. Java:Object类

    本篇文章解决问题 1. Object类的说明1. Object的说明 1.1 java.lang.Object类的说明 Object类的特点是什么:Object类是所有Java类的根父类。如果在类的声明中未使用extends关键字指明其父类,则默认父类为java.lang.Object类。Object类中的功能(属性、方法)具有通用性。 属性…...

    2024/5/3 0:31:02
  2. study-sixth

    数据结构之列表 1.序列(sequence) 1.1基本概念序列是Python中最基本的一种数据结构。序列用于保存一组有序的数据,所有的数据在序列当中都有一个唯一的位置(索引)并且序列中的数据会按照添加的顺序来分配索引。 数据结构指计算机中数据存储的方式。1.2序列的分类可变序列(可以…...

    2024/4/15 14:40:44
  3. Redis的入门

    Redis学习笔记 一.什么是Redis Redis是一个开源的使用ANSI C语言编写、遵守BSD协议、支持网络、可基于内存亦可持久化的日志型、Key-Value数据库,并提供多种语言的API。它通常被称为数据结构服务器,因为值(value)可以是 字符串(String), 哈希(Map), 列表(list), 集合(sets)…...

    2024/4/15 14:40:42
  4. Python import pandas_datareader报错(ImportError cannot import name ‘is_list_like‘)

    本文主要介绍Python中,使用pandas时执行import pandas_datareader报错(ImportError: cannot import name is_list_like)的原因及解决方法。原文地址:https://www.cjavapy.com/article/767/...

    2024/4/15 14:40:40
  5. finalize()方法

    finalize()方法当对象被判定为垃圾对象的时候, 由JVM自动调动此方法,用以标记垃圾对象, 进入回收队列。 垃圾对象:没有有效引用指向对象时,为垃圾对象; 垃圾回收:由GC销毁对象,释放数据存储空间。 自动回收机制:JVM的内存耗尽,一次性回收所有垃圾对象。 手机回收机制…...

    2024/4/15 14:40:39
  6. ant design vue pro 支持多页签模式

    ant design vue pro 支持多页签模式(tablayout ) 在最新的 ant design vue Pro 代码展示的功能中是使用的面包屑,省去了多页签模式,那么当面对一些场景需要使用多页签模式,我们该如何实现呢?网络上目前没什么帖子,有些人建议参考jeecg。经过不断的对比很久之前的版本与尝…...

    2024/5/2 1:58:28
  7. python 面向对象开发

    类内方法:1. __str__(self)方法:当使用print输出对象的时候,只要自己定义了__str__(self)方法,那么就会打印从在这个方法中return的数据__str__方法需要返回一个字符串,当做这个对象的描写 未重写__str__方法重写__str__方法class Child2():def __init__(self,x):self.x=x…...

    2024/5/1 13:37:18
  8. 《C/C++学习指南》语法篇—笔记 (八、指针)

    《C/C++学习指南》语法篇—笔记 (八、指针)提要:变量与内存使用指针类型表示地址关于指针星号操作:按地址访问指针与数组指针作为函数的参数const指针指针的安全使用 提要:变量与内存内存用于存储数据,最小单元是字节(8bit),每个单元都有一个编号(地址:0x00000000~0…...

    2024/4/30 12:03:55
  9. leetcode(12): BFS||DFS||

    BFS和DFS在二叉树和图中运用较多; 文章目录1.BFS实现方式1.1 BFS (队列) 1.BFS实现方式 基本概念和知识——传送门 1.1 BFS (队列) BFS实现基本上是基于队列的。众所周知,队列特性,FIFO(先进先出)。/*** Definition for a binary tree node.* struct TreeNode {* int …...

    2024/4/15 18:49:11
  10. C/C++ 第十一届蓝桥杯大赛第二次模拟(本科组) 题解

    文章目录1. 12.5MB2. 最多边数3. 单词重排4. 括号序列5. 反倍数6. 凯撒加密7. 螺旋8. 摆动序列9. 通电10. 植树题目 类型12.5MB 结果填空最多边数 结果填空单词重排 结果填空括号序列 结果填空反倍数 编程题凯撒加密 编程题螺旋 编程题摆动序列 编程题通电 编程题植树 编程题1.…...

    2024/4/30 23:37:18
  11. JavaScript中事件

    <!--这种写法我们称为结构和行为耦合,不方便维护,不推荐使用--><!--<button id = "btn" onclick= "alert(讨厌你点我干嘛)">我是一个按钮</button><button id = "btn" ondblclick= "alert(讨厌你点我干嘛)"…...

    2024/4/29 12:30:20
  12. Python函数进阶

    一。函数进阶 1. 函数就是变量定义函数的时候,其实就是在定义一个类型是function的变量,函数名就是变量名。 普通变量能做的事情函数都可以做2.实参高阶函数如果一个函数的参数是函数,那么这个函数就是实参高阶函数1.怎么确定调用函数的时候参数传什么值 看这个参数在函数中…...

    2024/4/15 18:49:08
  13. 《C/C++学习指南》语法篇—笔记 (九、动态分配内存--malloc_free)

    《C/C++学习指南》语法篇—笔记 (九、动态分配内存--malloc_free内存管理器 MM非常重要:堆 (MM管理的内存区域)malloc函数free函数注:特点 问题:数组一块连续内存,长度 (常量)必须在代码里固定。 内存管理器 MM MM,Memory Manager :系统中存在一个内存管理器,负责管…...

    2024/4/17 0:02:49
  14. 基于python+opencv利用颜色,区分多个目标(附带详细代码)

    前言 本文为原创文章,若有转载请附上文章链接并说明出处。 先上个效果图:视频可能看不清,解释一下:就是通过hsv色彩空间将蓝色和红色同时识别出来,并且区分它们,画出标志标出坐标。 说明 本实验仅适用于基于色彩的识别与区分,比如多种颜色的小球的识别与区分,仅用颜色来…...

    2024/4/30 15:13:48
  15. 1124: 两个有序数组合并

    1124: 两个有序数组合并 题目描述 已知数组a中有m个按升序序排列的元素,数组b中有n个降序排列的元素,编程将a与b中的所有元素按降序存入数组c中。 输入 输入有两行,第一行首先是一个正整数m,然后是m个整数;第二行首先是一个正整数n,然后是n个整数,m, n均小于等于1000000…...

    2024/4/15 18:49:05
  16. (WaterGAN)AttributeError: module ‘tensorflow‘ has no attribute ‘pack‘

    在运行WaterGAN代码时出现: AttributeError: module tensorflow has no attribute pack将 eta = tf.pack([eta_r,eta_g,eta_b],axis=3) 改为:eta = tf.stack([eta_r,eta_g,eta_b],axis=3) 即把将所有pack->stack...

    2024/4/15 18:49:05
  17. 启动fabric ledger的第一个网络出错

    最后一步:切换到fabric-samples/first-network目录下: 输入命令: ./byfn.sh -m up报错如下: ===================== Querying on peer0.org1 on channel mychannel... ===================== Attempting to Query peer0.org1 ...3 secs + peer chaincode query -C mychann…...

    2024/4/21 20:17:59
  18. VM ubuntu16.04与主机win10通信

    如何Ping通?1.win10设置点击 属性-ipv4-属性,将自动获取ip取消在cmd中ipconfig可以看到VMnet8已经修改了2.虚拟机设置:编辑--虚拟网络编辑器--VMnet8--更改设置选择VMnet8--取消使用本地DHCP服务将IP地址分配给虚拟机--设置子网和掩码虚拟机ubuntu的terminal中--ifconfig查…...

    2024/4/15 18:49:02
  19. 咸鱼带你学Java—子类对象实例化过程

    目录一、从结果上看二、从过程上看三、强调说明一、从结果上看子类继承父类以后,就获取了父类中声明的属性或方法。创建子类的对象,在堆空间中,就会加载所父类中声明的属性。二、从过程上看当我们通过子类的构造器创建子类对象时,我们一定会直接或间接的调用其父类的构造器…...

    2024/4/15 18:49:02
  20. 架构师内功修为-单例设计模式

    单例模式 单例模式的应用场景 单例模式(Singleton Pattern)是指确保一个类在任何情况下都绝对只有一个实例,并提供一个全局访问点。单例模式是创建型模式。单例模式在现实生活中应用也非常广泛。例如, 国家主席、公司CEO 、部门经理等。在J2EE 标准中, ServletContext ,S…...

    2024/4/28 4:31:07

最新文章

  1. 用Springboot(java程序)访问Salesforce RestAPI之二(Update和Create)

    在上一篇博文中&#xff0c;介绍了Springboot连接Salesforce的步骤和环境构建。 其中&#xff0c;只给出了对Salesforce数据进行查询的例子&#xff0c;这篇文章针对Salsforce数据的Update和Create&#xff0c;再展开一下。 对于Create和Update的操作&#xff0c;请求的方式和…...

    2024/5/3 1:30:51
  2. 梯度消失和梯度爆炸的一些处理方法

    在这里是记录一下梯度消失或梯度爆炸的一些处理技巧。全当学习总结了如有错误还请留言&#xff0c;在此感激不尽。 权重和梯度的更新公式如下&#xff1a; w w − η ⋅ ∇ w w w - \eta \cdot \nabla w ww−η⋅∇w 个人通俗的理解梯度消失就是网络模型在反向求导的时候出…...

    2024/3/20 10:50:27
  3. Spring集成MyBatis

    基本准备 创建Dynamic Web Project 引入相关jar包 Spring框架相关jar包 MyBatis连接Spring相关jar包 连接MySQL驱动包 JSTL标签库包 添加db.properties文件&#xff0c;该属性文件配置连接数据库相关信息 drivercom.mysql.jdbc.Driver urljdbc:mysql://localhost:3306/myba…...

    2024/4/30 17:16:43
  4. 星际门计划:微软与OpenAI联手打造未来AI超级计算机

    每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…...

    2024/5/2 19:37:40
  5. 416. 分割等和子集问题(动态规划)

    题目 题解 class Solution:def canPartition(self, nums: List[int]) -> bool:# badcaseif not nums:return True# 不能被2整除if sum(nums) % 2 ! 0:return False# 状态定义&#xff1a;dp[i][j]表示当背包容量为j&#xff0c;用前i个物品是否正好可以将背包填满&#xff…...

    2024/5/2 11:19:01
  6. 【Java】ExcelWriter自适应宽度工具类(支持中文)

    工具类 import org.apache.poi.ss.usermodel.Cell; import org.apache.poi.ss.usermodel.CellType; import org.apache.poi.ss.usermodel.Row; import org.apache.poi.ss.usermodel.Sheet;/*** Excel工具类** author xiaoming* date 2023/11/17 10:40*/ public class ExcelUti…...

    2024/5/2 16:04:58
  7. Spring cloud负载均衡@LoadBalanced LoadBalancerClient

    LoadBalance vs Ribbon 由于Spring cloud2020之后移除了Ribbon&#xff0c;直接使用Spring Cloud LoadBalancer作为客户端负载均衡组件&#xff0c;我们讨论Spring负载均衡以Spring Cloud2020之后版本为主&#xff0c;学习Spring Cloud LoadBalance&#xff0c;暂不讨论Ribbon…...

    2024/5/2 23:55:17
  8. TSINGSEE青犀AI智能分析+视频监控工业园区周界安全防范方案

    一、背景需求分析 在工业产业园、化工园或生产制造园区中&#xff0c;周界防范意义重大&#xff0c;对园区的安全起到重要的作用。常规的安防方式是采用人员巡查&#xff0c;人力投入成本大而且效率低。周界一旦被破坏或入侵&#xff0c;会影响园区人员和资产安全&#xff0c;…...

    2024/5/2 9:47:31
  9. VB.net WebBrowser网页元素抓取分析方法

    在用WebBrowser编程实现网页操作自动化时&#xff0c;常要分析网页Html&#xff0c;例如网页在加载数据时&#xff0c;常会显示“系统处理中&#xff0c;请稍候..”&#xff0c;我们需要在数据加载完成后才能继续下一步操作&#xff0c;如何抓取这个信息的网页html元素变化&…...

    2024/5/2 9:47:31
  10. 【Objective-C】Objective-C汇总

    方法定义 参考&#xff1a;https://www.yiibai.com/objective_c/objective_c_functions.html Objective-C编程语言中方法定义的一般形式如下 - (return_type) method_name:( argumentType1 )argumentName1 joiningArgument2:( argumentType2 )argumentName2 ... joiningArgu…...

    2024/5/2 6:03:07
  11. 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】

    &#x1f468;‍&#x1f4bb;博客主页&#xff1a;花无缺 欢迎 点赞&#x1f44d; 收藏⭐ 留言&#x1f4dd; 加关注✅! 本文由 花无缺 原创 收录于专栏 【洛谷算法题】 文章目录 【洛谷算法题】P5713-洛谷团队系统【入门2分支结构】&#x1f30f;题目描述&#x1f30f;输入格…...

    2024/5/2 9:47:30
  12. 【ES6.0】- 扩展运算符(...)

    【ES6.0】- 扩展运算符... 文章目录 【ES6.0】- 扩展运算符...一、概述二、拷贝数组对象三、合并操作四、参数传递五、数组去重六、字符串转字符数组七、NodeList转数组八、解构变量九、打印日志十、总结 一、概述 **扩展运算符(...)**允许一个表达式在期望多个参数&#xff0…...

    2024/5/2 23:47:43
  13. 摩根看好的前智能硬件头部品牌双11交易数据极度异常!——是模式创新还是饮鸩止渴?

    文 | 螳螂观察 作者 | 李燃 双11狂欢已落下帷幕&#xff0c;各大品牌纷纷晒出优异的成绩单&#xff0c;摩根士丹利投资的智能硬件头部品牌凯迪仕也不例外。然而有爆料称&#xff0c;在自媒体平台发布霸榜各大榜单喜讯的凯迪仕智能锁&#xff0c;多个平台数据都表现出极度异常…...

    2024/5/2 5:31:39
  14. Go语言常用命令详解(二)

    文章目录 前言常用命令go bug示例参数说明 go doc示例参数说明 go env示例 go fix示例 go fmt示例 go generate示例 总结写在最后 前言 接着上一篇继续介绍Go语言的常用命令 常用命令 以下是一些常用的Go命令&#xff0c;这些命令可以帮助您在Go开发中进行编译、测试、运行和…...

    2024/5/1 20:22:59
  15. 用欧拉路径判断图同构推出reverse合法性:1116T4

    http://cplusoj.com/d/senior/p/SS231116D 假设我们要把 a a a 变成 b b b&#xff0c;我们在 a i a_i ai​ 和 a i 1 a_{i1} ai1​ 之间连边&#xff0c; b b b 同理&#xff0c;则 a a a 能变成 b b b 的充要条件是两图 A , B A,B A,B 同构。 必要性显然&#xff0…...

    2024/5/2 9:47:28
  16. 【NGINX--1】基础知识

    1、在 Debian/Ubuntu 上安装 NGINX 在 Debian 或 Ubuntu 机器上安装 NGINX 开源版。 更新已配置源的软件包信息&#xff0c;并安装一些有助于配置官方 NGINX 软件包仓库的软件包&#xff1a; apt-get update apt install -y curl gnupg2 ca-certificates lsb-release debian-…...

    2024/5/2 9:47:27
  17. Hive默认分割符、存储格式与数据压缩

    目录 1、Hive默认分割符2、Hive存储格式3、Hive数据压缩 1、Hive默认分割符 Hive创建表时指定的行受限&#xff08;ROW FORMAT&#xff09;配置标准HQL为&#xff1a; ... ROW FORMAT DELIMITED FIELDS TERMINATED BY \u0001 COLLECTION ITEMS TERMINATED BY , MAP KEYS TERMI…...

    2024/5/2 0:07:22
  18. 【论文阅读】MAG:一种用于航天器遥测数据中有效异常检测的新方法

    文章目录 摘要1 引言2 问题描述3 拟议框架4 所提出方法的细节A.数据预处理B.变量相关分析C.MAG模型D.异常分数 5 实验A.数据集和性能指标B.实验设置与平台C.结果和比较 6 结论 摘要 异常检测是保证航天器稳定性的关键。在航天器运行过程中&#xff0c;传感器和控制器产生大量周…...

    2024/5/2 8:37:00
  19. --max-old-space-size=8192报错

    vue项目运行时&#xff0c;如果经常运行慢&#xff0c;崩溃停止服务&#xff0c;报如下错误 FATAL ERROR: CALL_AND_RETRY_LAST Allocation failed - JavaScript heap out of memory 因为在 Node 中&#xff0c;通过JavaScript使用内存时只能使用部分内存&#xff08;64位系统&…...

    2024/5/2 9:47:26
  20. 基于深度学习的恶意软件检测

    恶意软件是指恶意软件犯罪者用来感染个人计算机或整个组织的网络的软件。 它利用目标系统漏洞&#xff0c;例如可以被劫持的合法软件&#xff08;例如浏览器或 Web 应用程序插件&#xff09;中的错误。 恶意软件渗透可能会造成灾难性的后果&#xff0c;包括数据被盗、勒索或网…...

    2024/5/2 9:47:25
  21. JS原型对象prototype

    让我简单的为大家介绍一下原型对象prototype吧&#xff01; 使用原型实现方法共享 1.构造函数通过原型分配的函数是所有对象所 共享的。 2.JavaScript 规定&#xff0c;每一个构造函数都有一个 prototype 属性&#xff0c;指向另一个对象&#xff0c;所以我们也称为原型对象…...

    2024/5/2 23:47:16
  22. C++中只能有一个实例的单例类

    C中只能有一个实例的单例类 前面讨论的 President 类很不错&#xff0c;但存在一个缺陷&#xff1a;无法禁止通过实例化多个对象来创建多名总统&#xff1a; President One, Two, Three; 由于复制构造函数是私有的&#xff0c;其中每个对象都是不可复制的&#xff0c;但您的目…...

    2024/5/2 18:46:52
  23. python django 小程序图书借阅源码

    开发工具&#xff1a; PyCharm&#xff0c;mysql5.7&#xff0c;微信开发者工具 技术说明&#xff1a; python django html 小程序 功能介绍&#xff1a; 用户端&#xff1a; 登录注册&#xff08;含授权登录&#xff09; 首页显示搜索图书&#xff0c;轮播图&#xff0…...

    2024/5/2 7:30:11
  24. 电子学会C/C++编程等级考试2022年03月(一级)真题解析

    C/C++等级考试(1~8级)全部真题・点这里 第1题:双精度浮点数的输入输出 输入一个双精度浮点数,保留8位小数,输出这个浮点数。 时间限制:1000 内存限制:65536输入 只有一行,一个双精度浮点数。输出 一行,保留8位小数的浮点数。样例输入 3.1415926535798932样例输出 3.1…...

    2024/5/1 20:56:20
  25. 配置失败还原请勿关闭计算机,电脑开机屏幕上面显示,配置失败还原更改 请勿关闭计算机 开不了机 这个问题怎么办...

    解析如下&#xff1a;1、长按电脑电源键直至关机&#xff0c;然后再按一次电源健重启电脑&#xff0c;按F8健进入安全模式2、安全模式下进入Windows系统桌面后&#xff0c;按住“winR”打开运行窗口&#xff0c;输入“services.msc”打开服务设置3、在服务界面&#xff0c;选中…...

    2022/11/19 21:17:18
  26. 错误使用 reshape要执行 RESHAPE,请勿更改元素数目。

    %读入6幅图像&#xff08;每一幅图像的大小是564*564&#xff09; f1 imread(WashingtonDC_Band1_564.tif); subplot(3,2,1),imshow(f1); f2 imread(WashingtonDC_Band2_564.tif); subplot(3,2,2),imshow(f2); f3 imread(WashingtonDC_Band3_564.tif); subplot(3,2,3),imsho…...

    2022/11/19 21:17:16
  27. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机...

    win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”问题的解决方法在win7系统关机时如果有升级系统的或者其他需要会直接进入一个 等待界面&#xff0c;在等待界面中我们需要等待操作结束才能关机&#xff0c;虽然这比较麻烦&#xff0c;但是对系统进行配置和升级…...

    2022/11/19 21:17:15
  28. 台式电脑显示配置100%请勿关闭计算机,“准备配置windows 请勿关闭计算机”的解决方法...

    有不少用户在重装Win7系统或更新系统后会遇到“准备配置windows&#xff0c;请勿关闭计算机”的提示&#xff0c;要过很久才能进入系统&#xff0c;有的用户甚至几个小时也无法进入&#xff0c;下面就教大家这个问题的解决方法。第一种方法&#xff1a;我们首先在左下角的“开始…...

    2022/11/19 21:17:14
  29. win7 正在配置 请勿关闭计算机,怎么办Win7开机显示正在配置Windows Update请勿关机...

    置信有很多用户都跟小编一样遇到过这样的问题&#xff0c;电脑时发现开机屏幕显现“正在配置Windows Update&#xff0c;请勿关机”(如下图所示)&#xff0c;而且还需求等大约5分钟才干进入系统。这是怎样回事呢&#xff1f;一切都是正常操作的&#xff0c;为什么开时机呈现“正…...

    2022/11/19 21:17:13
  30. 准备配置windows 请勿关闭计算机 蓝屏,Win7开机总是出现提示“配置Windows请勿关机”...

    Win7系统开机启动时总是出现“配置Windows请勿关机”的提示&#xff0c;没过几秒后电脑自动重启&#xff0c;每次开机都这样无法进入系统&#xff0c;此时碰到这种现象的用户就可以使用以下5种方法解决问题。方法一&#xff1a;开机按下F8&#xff0c;在出现的Windows高级启动选…...

    2022/11/19 21:17:12
  31. 准备windows请勿关闭计算机要多久,windows10系统提示正在准备windows请勿关闭计算机怎么办...

    有不少windows10系统用户反映说碰到这样一个情况&#xff0c;就是电脑提示正在准备windows请勿关闭计算机&#xff0c;碰到这样的问题该怎么解决呢&#xff0c;现在小编就给大家分享一下windows10系统提示正在准备windows请勿关闭计算机的具体第一种方法&#xff1a;1、2、依次…...

    2022/11/19 21:17:11
  32. 配置 已完成 请勿关闭计算机,win7系统关机提示“配置Windows Update已完成30%请勿关闭计算机”的解决方法...

    今天和大家分享一下win7系统重装了Win7旗舰版系统后&#xff0c;每次关机的时候桌面上都会显示一个“配置Windows Update的界面&#xff0c;提示请勿关闭计算机”&#xff0c;每次停留好几分钟才能正常关机&#xff0c;导致什么情况引起的呢&#xff1f;出现配置Windows Update…...

    2022/11/19 21:17:10
  33. 电脑桌面一直是清理请关闭计算机,windows7一直卡在清理 请勿关闭计算机-win7清理请勿关机,win7配置更新35%不动...

    只能是等着&#xff0c;别无他法。说是卡着如果你看硬盘灯应该在读写。如果从 Win 10 无法正常回滚&#xff0c;只能是考虑备份数据后重装系统了。解决来方案一&#xff1a;管理员运行cmd&#xff1a;net stop WuAuServcd %windir%ren SoftwareDistribution SDoldnet start WuA…...

    2022/11/19 21:17:09
  34. 计算机配置更新不起,电脑提示“配置Windows Update请勿关闭计算机”怎么办?

    原标题&#xff1a;电脑提示“配置Windows Update请勿关闭计算机”怎么办&#xff1f;win7系统中在开机与关闭的时候总是显示“配置windows update请勿关闭计算机”相信有不少朋友都曾遇到过一次两次还能忍但经常遇到就叫人感到心烦了遇到这种问题怎么办呢&#xff1f;一般的方…...

    2022/11/19 21:17:08
  35. 计算机正在配置无法关机,关机提示 windows7 正在配置windows 请勿关闭计算机 ,然后等了一晚上也没有关掉。现在电脑无法正常关机...

    关机提示 windows7 正在配置windows 请勿关闭计算机 &#xff0c;然后等了一晚上也没有关掉。现在电脑无法正常关机以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;关机提示 windows7 正在配…...

    2022/11/19 21:17:05
  36. 钉钉提示请勿通过开发者调试模式_钉钉请勿通过开发者调试模式是真的吗好不好用...

    钉钉请勿通过开发者调试模式是真的吗好不好用 更新时间:2020-04-20 22:24:19 浏览次数:729次 区域: 南阳 > 卧龙 列举网提醒您:为保障您的权益,请不要提前支付任何费用! 虚拟位置外设器!!轨迹模拟&虚拟位置外设神器 专业用于:钉钉,外勤365,红圈通,企业微信和…...

    2022/11/19 21:17:05
  37. 配置失败还原请勿关闭计算机怎么办,win7系统出现“配置windows update失败 还原更改 请勿关闭计算机”,长时间没反应,无法进入系统的解决方案...

    前几天班里有位学生电脑(windows 7系统)出问题了&#xff0c;具体表现是开机时一直停留在“配置windows update失败 还原更改 请勿关闭计算机”这个界面&#xff0c;长时间没反应&#xff0c;无法进入系统。这个问题原来帮其他同学也解决过&#xff0c;网上搜了不少资料&#x…...

    2022/11/19 21:17:04
  38. 一个电脑无法关闭计算机你应该怎么办,电脑显示“清理请勿关闭计算机”怎么办?...

    本文为你提供了3个有效解决电脑显示“清理请勿关闭计算机”问题的方法&#xff0c;并在最后教给你1种保护系统安全的好方法&#xff0c;一起来看看&#xff01;电脑出现“清理请勿关闭计算机”在Windows 7(SP1)和Windows Server 2008 R2 SP1中&#xff0c;添加了1个新功能在“磁…...

    2022/11/19 21:17:03
  39. 请勿关闭计算机还原更改要多久,电脑显示:配置windows更新失败,正在还原更改,请勿关闭计算机怎么办...

    许多用户在长期不使用电脑的时候&#xff0c;开启电脑发现电脑显示&#xff1a;配置windows更新失败&#xff0c;正在还原更改&#xff0c;请勿关闭计算机。。.这要怎么办呢&#xff1f;下面小编就带着大家一起看看吧&#xff01;如果能够正常进入系统&#xff0c;建议您暂时移…...

    2022/11/19 21:17:02
  40. 还原更改请勿关闭计算机 要多久,配置windows update失败 还原更改 请勿关闭计算机,电脑开机后一直显示以...

    配置windows update失败 还原更改 请勿关闭计算机&#xff0c;电脑开机后一直显示以以下文字资料是由(历史新知网www.lishixinzhi.com)小编为大家搜集整理后发布的内容&#xff0c;让我们赶快一起来看一下吧&#xff01;配置windows update失败 还原更改 请勿关闭计算机&#x…...

    2022/11/19 21:17:01
  41. 电脑配置中请勿关闭计算机怎么办,准备配置windows请勿关闭计算机一直显示怎么办【图解】...

    不知道大家有没有遇到过这样的一个问题&#xff0c;就是我们的win7系统在关机的时候&#xff0c;总是喜欢显示“准备配置windows&#xff0c;请勿关机”这样的一个页面&#xff0c;没有什么大碍&#xff0c;但是如果一直等着的话就要两个小时甚至更久都关不了机&#xff0c;非常…...

    2022/11/19 21:17:00
  42. 正在准备配置请勿关闭计算机,正在准备配置windows请勿关闭计算机时间长了解决教程...

    当电脑出现正在准备配置windows请勿关闭计算机时&#xff0c;一般是您正对windows进行升级&#xff0c;但是这个要是长时间没有反应&#xff0c;我们不能再傻等下去了。可能是电脑出了别的问题了&#xff0c;来看看教程的说法。正在准备配置windows请勿关闭计算机时间长了方法一…...

    2022/11/19 21:16:59
  43. 配置失败还原请勿关闭计算机,配置Windows Update失败,还原更改请勿关闭计算机...

    我们使用电脑的过程中有时会遇到这种情况&#xff0c;当我们打开电脑之后&#xff0c;发现一直停留在一个界面&#xff1a;“配置Windows Update失败&#xff0c;还原更改请勿关闭计算机”&#xff0c;等了许久还是无法进入系统。如果我们遇到此类问题应该如何解决呢&#xff0…...

    2022/11/19 21:16:58
  44. 如何在iPhone上关闭“请勿打扰”

    Apple’s “Do Not Disturb While Driving” is a potentially lifesaving iPhone feature, but it doesn’t always turn on automatically at the appropriate time. For example, you might be a passenger in a moving car, but your iPhone may think you’re the one dri…...

    2022/11/19 21:16:57