wacom/live: take into account 'physical' borders of the bloc of paper

When using the live mode on the Slate, the bloc note actually hampers
the pen and prevents it to address all of the pixels on the screen.

Add some artificial boundaries that roughly match the primary design
of the device.

The Intuos Pro has a clip where you put a regular sheet of paper, so there
is no point restraining the active surface.

Fixes #88
This commit is contained in:
Benjamin Tissoires 2018-02-15 12:35:59 +01:00
parent 013de2a6e4
commit be2ac9fed3
1 changed files with 42 additions and 19 deletions

View File

@ -71,25 +71,30 @@ wacom_live_rdesc_template = [
0x81, 0x02, # ..Input (Data,Var,Abs) 22 0x81, 0x02, # ..Input (Data,Var,Abs) 22
0x95, 0x07, # ..Report Count (7) 24 0x95, 0x07, # ..Report Count (7) 24
0x81, 0x03, # ..Input (Cnst,Var,Abs) 26 0x81, 0x03, # ..Input (Cnst,Var,Abs) 26
0x05, 0x01, # ..Usage Page (Generic Desktop) 43 0x05, 0x01, # ..Usage Page (Generic Desktop) 28
0x09, 0x30, # ..Usage (X) 45 0x09, 0x30, # ..Usage (X) 30
0x75, 0x10, # ..Report Size (16) 47 0x75, 0x10, # ..Report Size (16) 32
0x95, 0x01, # ..Report Count (1) 49 0x95, 0x01, # ..Report Count (1) 34
0x55, 0x0d, # ..Unit Exponent (-3) 51 0x55, 0x0d, # ..Unit Exponent (-3) 36
0x65, 0x11, # ..Unit (Centimeter,SILinear) 53 0x65, 0x11, # ..Unit (Centimeter,SILinear) 38
0x47, 'width', # ..Physical Maximum (TBD) 55 0x37, 'x_min', # ..Physical Minimum (TBD) 40
0x27, 'width', # ..Logical Maximum (TBD) 58 0x47, 'x_max', # ..Physical Maximum (TBD) 45
0x81, 0x02, # ..Input (Data,Var,Abs) 61 0x17, 'x_min', # ..Logical Minimum (TBD) 50
0x09, 0x31, # ..Usage (Y) 63 0x27, 'x_max', # ..Logical Maximum (TBD) 55
0x47, 'height', # ..Physical Maximum (TBD) 65 0x81, 0x02, # ..Input (Data,Var,Abs) 60
0x27, 'height', # ..Logical Maximum (TBD) 68 0x09, 0x31, # ..Usage (Y) 62
0x81, 0x02, # ..Input (Data,Var,Abs) 71 0x37, 'y_min', # ..Physical Minimum (TBD) 64
0x05, 0x0d, # ..Usage Page (Digitizers) 73 0x47, 'y_max', # ..Physical Maximum (TBD) 69
0x09, 0x30, # ..Usage (Tip Pressure) 75 0x17, 'y_min', # ..Logical Minimum (TBD) 74
0x26, 'pressure', # ..Logical Maximum (TBD) 77 0x27, 'y_max', # ..Logical Maximum (TBD) 79
0x81, 0x02, # ..Input (Data,Var,Abs) 80 0x81, 0x02, # ..Input (Data,Var,Abs) 84
0xc0, # .End Collection 82 0x05, 0x0d, # ..Usage Page (Digitizers) 86
0xc0, # End Collection 83 0x15, 0x00, # ..Logical Minimum (0) 88
0x09, 0x30, # ..Usage (Tip Pressure) 90
0x27, 'pressure', # ..Logical Maximum (TBD) 92
0x81, 0x02, # ..Input (Data,Var,Abs) 97
0xc0, # .End Collection 99
0xc0, # End Collection 100
] ]
@ -868,7 +873,13 @@ class WacomProtocolSpark(WacomProtocolBase):
:param uuid: the UUID {to be} assigned to the device :param uuid: the UUID {to be} assigned to the device
''' '''
width = 21600 width = 21600
x_min = 2500
x_max = 20600
height = 14800 height = 14800
y_min = 800
y_max = 14300
pressure = 2047 pressure = 2047
protocol = Protocol.SPARK protocol = Protocol.SPARK
packet_handlers = [WacomPacketHandlerEndOfStroke, packet_handlers = [WacomPacketHandlerEndOfStroke,
@ -884,7 +895,13 @@ class WacomProtocolSlate(WacomProtocolSpark):
:param uuid: the UUID {to be} assigned to the device :param uuid: the UUID {to be} assigned to the device
''' '''
width = 21600 width = 21600
x_min = 2500
x_max = 20600
height = 14800 height = 14800
y_min = 500
y_max = 14300
pressure = 2047 pressure = 2047
protocol = Protocol.SLATE protocol = Protocol.SLATE
packet_handlers = [WacomPacketHandlerStrokePrefixSlate] packet_handlers = [WacomPacketHandlerStrokePrefixSlate]
@ -977,7 +994,13 @@ class WacomProtocolIntuosPro(WacomProtocolSlate):
:param uuid: the UUID {to be} assigned to the device :param uuid: the UUID {to be} assigned to the device
''' '''
width = 44800 width = 44800
x_min = 0
x_max = 44800
height = 29600 height = 29600
y_min = 0
y_max = 29600
pressure = 4095 pressure = 4095
protocol = Protocol.INTUOS_PRO protocol = Protocol.INTUOS_PRO
packet_handlers = [WacomPacketHandlerStrokePrefixIntuosPro, packet_handlers = [WacomPacketHandlerStrokePrefixIntuosPro,