-
Notifications
You must be signed in to change notification settings - Fork 252
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Multiple Player improvements #190
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Great work! That's going to be really good for our docker image size and embedding opportunities.
Question: I think the existing replay event handler didn't log file operations between the client and the server or mouse clicks (w/ coordinates) am I correct?
Remarks:
- You can bump copyright year on all files you touched that had ~5+ lines changed
It doesn't. The mouse is rendered visually and it's pretty difficult/spammy to render the coordinates nicely in text only. We could try to log mouse clicks. For the file events, we can add support in both places whenever we add it. I'll make the modifications and merge this. Cheers, |
Oh lord. I just realized that the entire |
Great catch 👍 I was under the impression that we borrowed scan codes from FreeRDP but it could not be the case. Maybe if not using QT we could re-import them from FreeRDP. I let you investigate all the options. |
Yes, I was thinking just on clicks you log the X, Y at that moment. Might seem not to add a lot of value but the way I see it is if I replay capture and have no event, I would be wondering if the user is doing everything through mouse whereas if I see the clicks then I would know for sure. This is out of scope for this PR btw.
👍 |
We have the scan code mappings to |
Tested without PySide2 installed end-to-end to make sure I didn't miss anything. I fixed a few things in the process and added mouse click reporting in the replays (both headless and GUI). I'll give you some time to look my latest commit over before merging. I can see a few opportunities for refactoring (like having a better event handler hierarchy: |
I'm excited to test this. I'm currently processing PCAPs of thousands of connections through some hacked up changed to pyrdp that use a framebuffered X server. |
@robeving That sounds like a very creative workaround! Let me know how headless mode goes for you. Feel free to open issues if you run into any problems when trying it. |
It works and about 1000x faster! |
pip install -U -e '.[GUI]'
)pyrdp-player
(--headless
)Closes #151, Closes #163