# Worklogger

dev-linux
Ivan Maslov 4 years ago
parent b03d854e90
commit e9005c1fe2

@ -16,6 +16,7 @@ inList = [
# "ValueInt": "" # MOVE: point count # "ValueInt": "" # MOVE: point count
# } # }
] ]
gMoveWaitNextPointSecondsMaxFloat = 5
gMoveWaitNextPointPercentFloat = 4 gMoveWaitNextPointPercentFloat = 4
gMoveWaitNextPointSecondsFloat = None gMoveWaitNextPointSecondsFloat = None
gMovePrevious = None # {"EventDatetime": datetime.datetime.now(), "XInt": None, "YInt": None} gMovePrevious = None # {"EventDatetime": datetime.datetime.now(), "XInt": None, "YInt": None}
@ -50,6 +51,37 @@ def on_move(x, y):
gMovePrevious = {"EventDatetime": lNowDatetime, "XInt": x, "YInt": y} gMovePrevious = {"EventDatetime": lNowDatetime, "XInt": x, "YInt": y}
gMovePointCountInt = gMovePointCountInt + 1 gMovePointCountInt = gMovePointCountInt + 1
else: else:
if "left" not in SpecialKeyList:
pass
# Add in result list
#lResult = {
# "EventStartDatetime": gMoveFirstDatetime,
# "EventEndDatetime": lNowDatetime,
# "EventTypeStr": "MOVE", # MOVE | CLICK | SCROLL | SELECT
# "ValueInt": gMovePointCountInt # MOVE: point count
#}
#inList.append(lResult)
#print(lResult)
## Close the move
#gMoveWaitNextPointSecondsFloat = None
#gMovePrevious = None
#gMovePointCountInt = None
#gMoveFirstDatetime= None
#print('Pointer moved to {0}'.format(
# (x, y)))
def on_click(inButtonEvent):
global SpecialKeyList
global gMovePrevious
global gMoveWaitNextPointSecondsFloat
global gMoveWaitNextPointPercentFloat
global gMovePointCountInt
global gMoveFirstDatetime
lNowDatetime = datetime.datetime.now()
if inButtonEvent.button=="left" and inButtonEvent.event_type == "down":
SpecialKeyList.append("left")
# Close the previous move action
if gMovePrevious is not None:
# Add in result list # Add in result list
lResult = { lResult = {
"EventStartDatetime": gMoveFirstDatetime, "EventStartDatetime": gMoveFirstDatetime,
@ -64,17 +96,59 @@ def on_move(x, y):
gMovePrevious = None gMovePrevious = None
gMovePointCountInt = None gMovePointCountInt = None
gMoveFirstDatetime = None gMoveFirstDatetime = None
#print('Pointer moved to {0}'.format( elif inButtonEvent.button=="left" and inButtonEvent.event_type == "up":
# (x, y))) if "left" in SpecialKeyList: SpecialKeyList.remove("left")
# Close the previous move action
def on_click(x, y, button, pressed): if gMovePrevious is not None:
print('{0} at {1}'.format( # Add in result list
'Pressed' if pressed else 'Released', lResult = {
(x, y))) "EventStartDatetime": gMoveFirstDatetime,
print(button) "EventEndDatetime": lNowDatetime,
if not pressed: "EventTypeStr": "SELECT", # MOVE | CLICK | SCROLL | SELECT
# Stop listener "ValueInt": gMovePointCountInt # MOVE: point count
return True }
inList.append(lResult)
print(lResult)
# Close the move
gMoveWaitNextPointSecondsFloat = None
gMovePrevious = None
gMovePointCountInt = None
gMoveFirstDatetime = None
else:
# Add in result list
lResult = {
"EventStartDatetime": lNowDatetime,
"EventEndDatetime": lNowDatetime,
"EventTypeStr": "CLICK", # MOVE | CLICK | SCROLL | SELECT
"ValueInt": 'left' # MOVE: point count
}
inList.append(lResult)
print(lResult)
# Close the move
gMoveWaitNextPointSecondsFloat = None
gMovePrevious = None
gMovePointCountInt = None
gMoveFirstDatetime = None
elif inButtonEvent.button=="right" and inButtonEvent.event_type == "up":
# Add in result list
lResult = {
"EventStartDatetime": lNowDatetime,
"EventEndDatetime": lNowDatetime,
"EventTypeStr": "CLICK", # MOVE | CLICK | SCROLL | SELECT
"ValueInt": 'right' # MOVE: point count
}
inList.append(lResult)
print(lResult)
elif inButtonEvent.button=="middle" and inButtonEvent.event_type == "up":
# Add in result list
lResult = {
"EventStartDatetime": lNowDatetime,
"EventEndDatetime": lNowDatetime,
"EventTypeStr": "CLICK", # MOVE | CLICK | SCROLL | SELECT
"ValueInt": 'middle' # MOVE: point count
}
inList.append(lResult)
print(lResult)
def on_scroll(x, y, dx, dy): def on_scroll(x, y, dx, dy):
print('Scrolled {0} at {1}'.format( print('Scrolled {0} at {1}'.format(
@ -97,15 +171,19 @@ def on_scroll(x, y, dx, dy):
def Test(inArg): def Test(inArg):
if type(inArg) is mouse_new._mouse_event.MoveEvent: if type(inArg) is mouse_new._mouse_event.MoveEvent:
on_move(x = inArg.x, y = inArg.y) on_move(x = inArg.x, y = inArg.y)
elif type(inArg) is mouse_new._mouse_event.ButtonEvent:
on_click(inButtonEvent = inArg)
elif type(inArg) is mouse_new._mouse_event.WheelEvent:
print(inArg)
mouse_new.hook(Test) mouse_new.hook(Test)
import pprint import pprint
while True: while True:
# Check move interval # Check move interval
lNowDatetime = datetime.datetime.now() lNowDatetime = datetime.datetime.now()
if gMovePrevious is not None and gMoveWaitNextPointSecondsFloat is not None: if gMovePrevious is not None and gMoveWaitNextPointSecondsMaxFloat is not None and "left" not in SpecialKeyList:
lNewOldDeltaSecondsFloat = (lNowDatetime - gMovePrevious["EventDatetime"]).total_seconds() lNewOldDeltaSecondsFloat = (lNowDatetime - gMovePrevious["EventDatetime"]).total_seconds()
if lNewOldDeltaSecondsFloat > gMoveWaitNextPointSecondsFloat: if lNewOldDeltaSecondsFloat > gMoveWaitNextPointSecondsMaxFloat:
# Add in result list # Add in result list
lResult = { lResult = {
"EventStartDatetime": gMoveFirstDatetime, "EventStartDatetime": gMoveFirstDatetime,

Loading…
Cancel
Save