Giter VIP home page Giter VIP logo

kmcounter's People

Contributors

telppa 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  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

kmcounter's Issues

编译成功但没完全成功

因为我的屏幕缩放是250%,参考#10,所以想自己改代码,但是在不修改代码且库文件完整的情况下,用Ahk2Exe v1.1.37.02a0 U32编译成功,得到exe后修改设置不生效(键盘布局:键宽、键高等),而且窗口无法移动,感觉是库文件未生效(或者冲突)的问题,但是编译是成功的,麻烦大佬指点一下

Some suggestions on setting panel

  • In the screen size column, it is recommended to add explanatory information, such as calculating the mouse movement distance.
  • In the function of setting the real size, add inches and screen ratio options, such as 24 inches, 16:9, this kind. (Most people may know the screen size, but don’t know the specific length and width)
  • Do you consider increasing the support of moving distance for multiple screens, or how to set it up.

Suggestions about software updates and statistical functions

  • You can link the project address in the software or consider adding software update functions.
  • Increase the real-time display function of the statistics interface.
  • It is recommended to add custom hidden statistics display of certain keys (such as space, carriage return, delete, etc.).( In the statistics interface, sometimes the high frequency of individual keys affects the coloring of the statistics graph. )
  • Report a bug. In the v3.2 version, when the statistics interface is always open (forgot to close), an error will be reported the next day, and the software may crash. I haven't downloaded v3.5 so I don't know if this problem still exists.

Thank you for your development, this software will definitely be sought after by enthusiasts.

关于 鼠标移动距离 的功能性建议

现在记录的鼠标移动距离更确切的讲似乎是光标在屏幕上移动的距离,那么是否可以增加一个设置当前鼠标dpi的选项,来达到计算鼠标(物理层面)的移动距离呢?

写了一个Python脚本,简单做一下数据分析,有需要的可以跟进自己需求调整使用

# Import required libraries
import re
from collections import defaultdict
import matplotlib.pyplot as plt
import matplotlib
matplotlib.use("TkAgg")
import pandas as pd

# Read the file with UTF-16 encoding
with open('D:\GreenSoft\KMCounter.ini', 'r', encoding='utf-16') as file:
    file_content = file.readlines()

# Initialize a dictionary to store the data
data_dict = defaultdict(lambda: {'lbcount': 0, 'rbcount': 0, 'wheel': 0, 'move': 0, 'keystrokes': 0})

# Regular expression pattern to extract date in the format YYYYMMDD and the relevant data
pattern = re.compile(r'\[(\d{8})\]')
key_patterns = ['lbcount', 'rbcount', 'wheel', 'move', 'keystrokes']

# Extract data
current_date = None
for line in file_content:
    # if ==[total]==, then skip
    if line.strip() == '[total]':
        current_date = None
        continue
    date_match = pattern.match(line.strip())
    if date_match:
        current_date = date_match.group(1)
        current_date = f"{current_date[:4]}-{current_date[4:6]}-{current_date[6:]}"
        continue
    if current_date:
        for key in key_patterns:
            if line.startswith(key):
                value = float(line.split('=')[1].strip())
                data_dict[current_date][key] = value

# Convert the defaultdict to a normal dict
data_dict = dict(data_dict)

# Convert the data dictionary to a DataFrame
df = pd.DataFrame.from_dict(data_dict, orient='index')
df.index = pd.to_datetime(df.index)

# Filter out rows with 'total' in the index
df_filtered = df[~df.index.astype(str).str.contains('total', case=False)]

# Normalize the data for plotting
df_filtered_normalized = (df_filtered - df_filtered.min()) / (df_filtered.max() - df_filtered.min())

# Plotting
fig, ax = plt.subplots(figsize=(15, 10))
for column in df_filtered_normalized.columns:
    df_filtered_normalized[column].plot(ax=ax, marker='o', label=column)
ax.set_xlabel('Date')
ax.set_ylabel('Normalized Value')
ax.set_title('Comparison of lbcount, rbcount, wheel, move, and keystrokes Over Time')
ax.legend()
plt.tight_layout()
plt.show()

如何导出数据?

软件很轻量级,点个赞。
不过想问一下,能否把统计里面的数据按日或者小时导出呢?

浏览历史热力图时,遇到没有击键的日期会弹提示框

因为是公司电脑,周末不关机,可能出现开机但是没有按键的情况。
用滚轮浏览历史记录时,遇到没有击键的日期会弹“击键过少,无法生成热力图”的提示框,必须点掉才能继续滚动,比较影响使用体验。
建议改为窗口内的文字提示,不影响滚动到下一天。

鼠标点击热力图啥时候做出来呀?

这个功能可太有意思了,作者千万别因为感觉需求的人不多就不做了呀,想要知道鼠标点击情况的人本来就是少数,或者他们根本就没意识到还有鼠标点击热力图这个功能而已,只要做得好,喜欢的人肯定多。

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.