Git Product home page Git Product logo

inputscope's People

Contributors

suurjaak avatar ulcuber avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

inputscope's Issues

Could be used as a key logger?

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.

Database performance drops significantly over time

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:

  • my mouse dataset has 14 million entries
  • trying to access it the program seems to try to load the whole database into the RAM while using 25% of the CPU (utilizing only a single core?)
  • it manages to allocate about 2.5GB of RAM and then the page stops loading with the following error:
    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.

Heatmap itself is not representative

It woould be cool if the color grading could be set up differently because for now my scheme makes no sense with overused Spacebar and almost white "Q" with 4000+ presses
image

Change Keyboard Layout

Hi,

can the keyboard layout changed? It's QWERTY, I do have a QWERTZ Keyboard.

Running Linux.

Regards

Strange error

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()�����

Error on tray icon right click

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

Database is locked

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.

Very fast mouse scrolling causes a beeping sound and mouse lag

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.

Width and height of heatmap visualisation do not map to system screen resolution

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.

image

v1.5 not on pypi?

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?

Start with windows feature not working

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)

Got a traceback, then stopped registering key events

$ 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'

Double monitor, double layout usage

I am using two monitors and the main monitor is vertical and side monitor is horizontal. I have tried to move the mouse around the corners to obtain the boundaries of the monitors. However it does not seem correct. See the image.

mouse_statistics

Do you handle the multiple monitor case?

/home/user file problem

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 found logs of many duplicate keys.

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.

Supporting swedish keyboard layout?

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.

As can be seen here:
bild

For swedish chars normally placed here

bild

there is no data.

An idea for combo

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.

How to run on Linux?

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*

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.