TyperCounter banner

TyperCounter

4 devlogs
22h 38m 3s

What is TyperCounter?
TyperCounter is a c# app that records all of my keypresses, and gives me a summary, a hitmap according to the zmk/qmk/regular keyboard keymap and layout that i put in it.

Why do i need that?
recently, i have started to…

What is TyperCounter?
TyperCounter is a c# app that records all of my keypresses, and gives me a summary, a hitmap according to the zmk/qmk/regular keyboard keymap and layout that i put in it.

Why do i need that?
recently, i have started to build a lot of small split keyboards. Those small keyboards require using multiple layers (in a regular keyboard there are layers like: fn, shift, ctrl) for regular keys on a regular keyboard (like numbers, symbols, F keys). I want to know what keys i use the most (apart from the regular letters) so i can i them more accessible then others.

Is this secure?
Yes. The gitignore doesnt allow you to submit the text file that records your text file.

This project uses AI

i used ai for the acsii graphic at the start (gemini)

Repository

Loading README...

eyal.birger2010

*** SWITCHING TO .TXT FILES, AND IT IS WORKING!!!***
AFTER LIKE A WEEK AND A HALF, THIS IS WORKING!!!
i switched from json to txt files because keyboard layout editor is pretty weird (it just have so many enters, like every couple of keys), i dont know why its happening so i just copy and paste the output (the layout’s raw data) and copy it into a .txt file.
i was pretty hard getting the converting the files into a layout with colors, because it did like a weird thing that most of the key was black, and the outline was in the right color.
it still has some bugs, but i will get it sorted in a couple of dats.
BUT ITS MOSTLY FINISHED
i do still need to make a video and update the readme

Attachment
Attachment
0
eyal.birger2010

SHOWING DATA AND SCANNING THE JSON
initially, i just wanted to show things in the json. i through just showing a heatmap is enough, but i didnt know how to do that. so i though that it will be easy to first show the stats in the terminal. i tried to make the use type ‘scan’ to scan the file, but it didnt work. for some reason, it didnt work. i tried for like 4 hours. for some reason, i couldn’t get out of the reading the text the user typed looop.
also for some reason when i displayed the stats as a label it started from the middle, until i increased the size of the terminal to the max. i though that if people are going to use this with different resolution monitor. i solved that by attachingthe top of the stats list to the top of the terminal.
i also played with the ui for a few hours.
The keyboard layout editor’s JSON
the keyboards layout editor’s json is built like a table. every array is a row (like in the pic).
every key is (“”). you can edit the properties of a key by replacing the (“”) with a ({x, y, color}). the ‘c’ character to edit the json. you can also replace the (“”) with a character (“A”) so that how will i detect the characters. i still need to figure out how to edit a json with c#, but then i think i will be close to finishing this

Attachment
Attachment
Attachment
0
eyal.birger2010

KEY- RECORDING AND MENUS.

  • i added key recording logic. for now its just puts the keypresses in a txt file.
  • i added a menu for more confirmation before recording, added a “recording in procces” menu with a stop button and a “after recording” menu.
  • i changed the git ignore so you wont upload all of you keypresses to github by mistake.
  • i made an exit shortcut so i will be able to exit the program without closing the terminal.

i think im not going to connect this project to zmk/qmk. the better way (and how didnt i think of that at first) is to change the colors of the keycaps on a keyboard layout editor’s json in according to how much time did i press the key.

Attachment
Attachment
Attachment
Attachment
Attachment
0
eyal.birger2010

helllllo people!
this is my first devlog for this project (and in general in flavortown) and im suppper exited!
i started this project of with building the first part of the tui. this took me like 2.5 hours because i had to learn the terminal.gui c# library (which has a couple of version, and i had a tutorial on v1 while i was on v2). it was pretty annoying but at the end i found it really satisfying when i had an actual thing.
i did some reseacrch on “keyboard inputs” librarys, but mostly i found things like pynput (which looks very good but im more comfortable with languages like c#, java and c casue im doing frc and cs in school).
i also need to learn how to create txt files and think how to differentiate between characters more in the txt file, because i want to record things like the space key, the enter key and commas.
i think the best way is to take a very niche character (or letter in a dead language or something) that i dont have on my keeb and to write in the readme that if you want to use that then you should switch it for something else.
i alsoooo did acsii art for the first screen :)

oh and i need to find a way to make heatmaps of a certain zmk and qmk layouts, but i need to first get it workings

Attachment
0