suurjaak / inputscope Goto Github PK
View Code? Open in Web Editor NEWMouse and keyboard input heatmap visualizer, with statistics.
License: MIT License
Mouse and keyboard input heatmap visualizer, with statistics.
License: MIT License
I like the replay a bit as it gives me an idea of how, over time, I'm pressing keys. There is one issue I've noticed that that the keys logged could be indirectly used by a threat actor to get usernames and passwords. Data is stored unencrypted.
What would be a good idea is to make a side-version of the same program, but strip out the code and database structure that records each individual keystroke, so it counts key presses and key-combinations.
At the moment on VirusTotal only one scanning engine identifies your program as a threat which is Baidu.
I've been using InputScope on my work pc to track my activity across the day but eventually had to stop using it cause i couldn't access the data anymore.
Full process:
A server error occurred. Please contact the administrator.
Before that it already slowed down, taking up to 2 minutes to load the page. Current Database size is 916MB.
A part of the problem can be attributed to the machine since it uses an older 4 core cpu and a HDD but i'm fairly certain that this still happens on current hardware.
#15 issue has not been fixed yet.
Hold down a key still generates a lot of duplicated logs.
Hi,
can the keyboard layout changed? It's QWERTY, I do have a QWERTZ Keyboard.
Running Linux.
Regards
I would like an option to ignore mouse input events when the cursor is in the middle of the screen. When I play a game, the cursor locks to the center of the screen and it messes with the heatmaps. Could you please add an option to ignore those inputs?
Hey, i'm getting the error:
.NET�����������������������System.Runtime.Remoting.RemotingException: Tcp channel protocol violation: expecting preamble.
at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadAndMatchPreamble()
at System.Runtime.Remoting.Channels.Tcp.TcpSocketHandler.ReadVersionAndOperation(UInt16& operation)
at System.Runtime.Remoting.Channels.Tcp.TcpServerSocketHandler.ReadHeaders()
at System.Runtime.Remoting.Channels.Tcp.TcpServerTransportSink.ServiceRequest(Object state)
at System.Runtime.Remoting.Channels.SocketHandler.ProcessRequestNow()�����
Traceback (most recent call last):
File "/home/victor/.local/lib/python3.9/site-packages/inputscope/main.py", line 235, in OnOpenMenu
item_session_stop.Enable(bool(activename))
wx._core.wxAssertionError: C++ assertion ""m_menuItem"" failed at /tmp/pip-install-pftclj74/wxpython_1cb442c7599845deaf76319b3bc95202/ext/wxWidgets/src/gtk/menu.cpp(718) in Enable(): invalid menu item
In a new installation, I get this when I try to load the webpage.
Traceback (most recent call last):
File ".../.local/python2/lib/python2.7/site-packages/bottle.py", line 862, in _handle
return route.call(**args)
File ".../.local/python2/lib/python2.7/site-packages/bottle.py", line 1732, in wrapper
rv = callback(*a, **ka)
File ".../.local/python2/lib/python2.7/site-packages/inputscope/webui.py", line 85, in index
row = db.fetchone("counts", countminmax, type=table)
File ".../.local/python2/lib/python2.7/site-packages/inputscope/db.py", line 31, in fetchone
return select(table, cols, where, group, order, limit, **kwargs).fetchone()
File ".../.local/python2/lib/python2.7/site-packages/inputscope/db.py", line 45, in select
return execute(sql, args)
File ".../.local/python2/lib/python2.7/site-packages/inputscope/db.py", line 64, in execute
return get_cursor().execute(sql, args or {})
OperationalError: database is locked
The webpage gives me a 500 error.
fuser and ps:
[... var]$ fuser inputscope.db
.../.local/python2/lib/python2.7/site-packages/inputscope/var/inputscope.db: 3150 3151 3152
[... var]$ fuser inputscope.db-journal
.../.local/python2/lib/python2.7/site-packages/inputscope/var/inputscope.db-journal: 3151
[... var]$ ps aux | grep 315
... 3150 0.0 0.3 152648 27956 pts/63 S+ 02:07 0:00 .../.local/python2/bin/python2 .../.local/python2/bin/inputscope
... 3151 0.9 0.2 371772 17268 pts/63 Sl+ 02:07 0:01 .../.local/python2/bin/python2 .../.local/python2/lib/python2.7/site-packages/inputscope/listener.py --quiet
... 3152 0.0 0.2 95212 17120 pts/63 S+ 02:07 0:00 .../.local/python2/bin/python2 .../.local/python2/lib/python2.7/site-packages/inputscope/webui.py --quiet
I've remapped my function keys to some strange unicode characters, and get these error when I press them:
...
Unable to determine character.
Keycode: 69 KeySym 16846434
Unable to determine character.
Keycode: 69 KeySym 16846434
Unable to determine character.
Keycode: 70 KeySym 16846435
Unable to determine character.
Keycode: 70 KeySym 16846435
...
If that's the problem I'd just assume ignore those keys.
I'm running it in a virtual environment.
Also, killing with ctrl+c leaves a python2 process running in the background.
This looks like a great program, really excited to use it.
It only happens when using a free scrolling mouse wheel (MX Master 2S).
Some googling showed that it is most likely caused by overloading the mouse driver with too many inputs.
This also happened on version 1.1 but there it was triggered by a much slower scroll speed.
It disappears when turning off InputScope or disabling mouse logging but it still happens when i enable mouse event categories separately, so it doesn't seem to be tied to one of those.
Great package! I've just tested v1.4.1 on Windows 10 and noticed that paths and clicks drawn across the horizontal and vertical center lines of my screen appeared off-center in the heatmap visualisation. The lines were shifted toward the bottom and right of the heatmap window.
I checked the SQLite database and confirmed that the logged coordinates are correct. For reference my test resolution was 1920 x 1200. It looks like the heatmap visualisation is set to a fixed resolution or screen ratio.
It's a really useful utility. It would be great if the heatmap visualisation mapped to the target resolution or screen ratio.
This happened when using my old 900+ MB database. Restarting InputScope or repacking the DB did not solve it.
When using a new database it seems to work correctly.
Is there some sort of logging i can enable to see what could cause that?
According to https://pypi.org/project/InputScope/, v1.4 seems to be the latest release available in pip. Unfortunately, that version isn't python3 enabled, so installation with pip isn't as trivial as doing pip install inputscope
.
I could probably work around this, but I suspect that v1.5 not being available is likely a mistake?
Win10 x64
22H2 19045.4170
Traceback (most recent call last):
File "inputscope\main.py", line 418, in OnToggleStartup
File "inputscope\main.py", line 506, in start
File "inputscope\main.py", line 534, in create_shortcut
File "<COMObject >", line 2, in save
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'WshShortcut.Save', 'Unable to save shortcut "C:\Users\vovan\Start Menu\Programs\Startup\InputScope.lnk".', None, 0, -2147024893), None)
Traceback (most recent call last):
File "inputscope\main.py", line 418, in OnToggleStartup
File "inputscope\main.py", line 506, in start
File "inputscope\main.py", line 534, in create_shortcut
File "<COMObject >", line 2, in save
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'WshShortcut.Save', 'Unable to save shortcut "C:\Users\vovan\Start Menu\Programs\Startup\InputScope.lnk".', None, 0, -2147024893), None)
Traceback (most recent call last):
File "inputscope\main.py", line 418, in OnToggleStartup
File "inputscope\main.py", line 506, in start
File "inputscope\main.py", line 534, in create_shortcut
File "<COMObject >", line 2, in save
pywintypes.com_error: (-2147352567, 'Exception occurred.', (0, 'WshShortcut.Save', 'Unable to save shortcut "C:\Users\vovan\Start Menu\Programs\Startup\InputScope.lnk".', None, 0, -2147024893), None)
$ inputscope
/home/joakim/.local/lib/python3.12/site-packages/inputscope/webui.py:233: DeprecationWarning: The default date converter is deprecated as of Python 3.12; see the sqlite3 documentation for suggested replacement recipes
for e in events:
/home/joakim/.local/lib/python3.12/site-packages/inputscope/webui.py:313: DeprecationWarning: The default date converter is deprecated as of Python 3.12; see the sqlite3 documentation for suggested replacement recipes
for e in events:
Unhandled exception in listener callback
Traceback (most recent call last):
File "/home/joakim/.local/lib/python3.12/site-packages/pynput/_util/init.py", line 228, in inner
return f(self, *args, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^
File "/home/joakim/.local/lib/python3.12/site-packages/pynput/_util/xorg.py", line 470, in _handler
self._handle(self._display_stop, event)
File "/home/joakim/.local/lib/python3.12/site-packages/pynput/keyboard/_xorg.py", line 564, in _handle
self.on_press(key)
File "/home/joakim/.local/lib/python3.12/site-packages/pynput/_util/init.py", line 144, in inner
if f(*args) is False:
^^^^^^^^
File "/home/joakim/.local/lib/python3.12/site-packages/inputscope/listener.py", line 475, in
args = dict(on_press= lambda k, *a, **kw: self.on_event(True, k),
^^^^^^^^^^^^^^^^^^^^^^^
File "/home/joakim/.local/lib/python3.12/site-packages/inputscope/listener.py", line 487, in on_event
mykey, realkey = self.extract(key)
^^^^^^^^^^^^^^^^^
File "/home/joakim/.local/lib/python3.12/site-packages/inputscope/listener.py", line 526, in extract
elif ord("A") <= vk <= ord("Z") or ord("0") <= vk <= ord("9"):
^^^^^^^^^^^^^^^^^^^^^^^^^^
TypeError: '<=' not supported between instances of 'int' and 'NoneType'
Hello, Developer~!
On my keyboard, InputScope does not recognize the .Del key on the numberpad.
What settings do I need to modify?
Thank you.
Can you do it only effect to specific program I want? It will very be helpful.
File "<stdin>", line 1
start mouse
^
SyntaxError: invalid syntax
i'm using linux and i noticed that this file InputScope____home__luqtas____local__lib__python3__11__site__packages__inputscope__var__inputscope__db
sometimes needs to be deleted after boot, so the app can work... it's located at my /home directory & it's created again every-time i use the app
I have been using Inputscope for 3 days.
I checked Inputscope.db and often found logs of many duplicate keys.
I thought about the cause. But I've never pressed keys in such a pattern.
Below is part of the log file.
https://we.tl/t-cF344m9U6H
I would like to find a solution of this issue.
When downloading, Chrome flagged it as not trusted (which happens to me all the time) but today Windows flagged it after a reboot.
VirusTotal:
https://www.virustotal.com/gui/file/f7c3f5e58e0a3c984f05a04dcc29dffc8ff137485d29c1f7448c300b28fd03e7
I guess something the program does trips the malware detection.
Similar to this: #11
I would like to be able to support the Swedish keyboard layout.
What changes would need to be made?
Inputscope already works for this layout for the most part, its just that keypresses dont seem
to be reported for swedish characters.
For swedish chars normally placed here
there is no data.
i literally just ran it and my mouse started moving around the screen
windows 10 2004
I saw that how many times I had used hotkeys in Inputscope's DB.
By the way, I also wanted to know how many kinds of hotkeys I had used.
However, there was no such feature, so I calculated them manually.
It would be nice if InputScope shows how many kinds of hotkeys I have used.
As the title asks, I tried to go about doing this myself (not just tracking left right middle)
With a lot of headache because of missing dependencies and very outdated python versions, I got this to install on my Ubuntu Box.
Now the question is how do I run it? There is no command inputscope*
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.