ThanksSonzai no muda wrote: 493k5j
i will take

That's weird, the only explanation I can come up with for that is that the display manger doesn't think it's required to update the window since it's not directly visible. Personally I also have it setup with osu! running in fullscreen mode though and I don't have any issues with it. However that's probably because I run OBS and KeysPerSecond on a different monitor so the window is always visible. Since I'm currently not at home I do not have the means to do any extensive testing, but I'll try to run some tests near the end of this week or the start of the next week. I strongly suspect it to be an operating system optimization though that prevents rendering updates on windows that are not directly visible. If you are running KeysPerSecond on a second monitor though I would start by trying all the different window capture options in OBS._ToorU wrote: 4624l
When I open osu! in fullscreen mode, OBS stops updating KPS counter so I have to tab out of the game in order to make OBS show updated KPS values. How to fix that? I don't play in window mode so don't suggest that.
You're right that doesn't really look quite right xD. That being said I don't know what would cause this issue. I'll look into it though. Thank you for reporting this ^^SuiGeneris wrote: 5s4t45
I don't know if it's just me, but I wanna use this for other things, not just osu, it's really really good. However...if I have it set to arrow keys, it umm, doesn't display them right, fully.
The left arrow key is rather...broken, plus the sizes between the left and right, and up and down, keys kind of bother me? I know there's probably not many symbols for that kind of thing but I certainly think it is worth telling you. Let me know if there's a way to improve that and if there is a plan to. Everything else though is perfect, but this is on the off chance I use a game that's arrow keys mainly, but normal wasd games are fine.
So I fixed this one by using a different set of arrow symbolsSuiGeneris wrote: 5s4t45
Sounds good! Not gonna lie, didn't think you'd get back to me so fast! But if you do get a fix out then you've made this a really good stream element for me to have in practically all streams![]()
That sounds interesting xD I have no idea why this would happen though and I can't seem to reproduce it eitherSuiGeneris wrote: 5s4t45
UNRELATED EDIT:
So, I do have this up in OBS, as its own window capture, works great, now the only issue is if I close the window while OBS is up, it for some reason opens the key input screen? I don't really know why or how, or if that's even fixable, just thought I would let you know, because it's a bit annoying to have to sometimes readjust it on my layout.
can't spell tonight it seems lol
Nonetheless a very weird issue xDSuiGeneris wrote: 5s4t45
Looks much better, also I think it was just OBS doing...OBS things, seems to sometimes happen sometimes not, but it seems certainly lessened with the window title must match option, because I have another java running program up so I think it confused the poor counter.
Hmm, that's really weird, as far as I know the symbols I used (⯅⯆⯇⯈) are part of the UTF standard and should therefore also be available preatty much anywhere. I'll see if I can find computer/laptop that doesn't like them either. I did the executable and it works fine for me. Actually, if I save the configuration and load it again the symbols are gone .-.SuiGeneris wrote: 5s4t45
Huh..weird, I went into it and remade my arrow key bindings...and well, here's the thing.
For some reason they're boxes nowI think arrow keys just aren't friendly to this program. Unless anyone else wants to say they're fine and mine is just dumb. I ed from the standard window exe not java's if that helps. I really like this program so that's why I wanna let you know the issues about it.
Alright, second attemptSuiGeneris wrote: 5s4t45
Alright! Thanks though.
rhyrhy wrote: v1p2t
I tried to use this program with other games, but some games that prevent other screen on the game screen (e.g : undertale, rabi-ribi, etc.) I can't use it even with overlay mod. Can you fix this if able?
TTG_DRAGON wrote: 6o6e6p
How Do i start it up on mac i cant get it to work
Hey, there's no real setup required to use the program. You only need to the executable (if you're on Windows) and then double click that (or right click > open) to run the application. After that you might want to customise the look or just click on "OK" to use the default theme. If this does not work for some reason, please let me know.Balu924 wrote: 172u51
Heyy, how can i set it up?
Like nobully said, you'll have to use something like a screen recording for that. When you're watching a replay no keystrokes are sent to your operating system, osu! just plays the replay data, so there's not really anything for me to capture.Kelk1 wrote: 131f34
Can we have our KPS during a replay ?
Hey, both features have been requested before and are already on my todo list. I cant really give any estimate for when I'll actually be able to get around to implementing them though...KenZ wrote: f6y2i
request feature auto load config + stats upon start program like uhh .ini file or something ty <3
Hey, I still haven't really decided on anything regarding the implementation of an overlay. I do still want to try, but all the concerns and complications highlighting in my previous post still stand.RayStar wrote: 59j4n
this application have do not active on full-screen.
i was saw the you are reply. i was doesn't knew situation in the this application.
however a lot of player have doing play with full screen mode.
so i request to add function of active on with full screen mode if a lot of have you free time.
thank you for develop to this application for us anyway <3
If osu! is running in full screen mode (which it probably is), then it is not possible to place another program on top of it (since there can only ever be one full screen program). Some programs work around this issue by injecting code into the program they want to appear on top of (e.g. Steam overlay). Though technically these programs are not actually on top of the program but rather they injected themselves into that program. I have a similar feature on my todo list, but there are a lot of issues and concerns regarding such a feature. I've highlighted the major ones in an earlier reply here community/forums/posts/7391965Insid3 wrote: 1c34t
its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
thank youRoan wrote: 416a1m
If osu! is running in full screen mode (which it probably is), then it is not possible to place another program on top of it (since there can only ever be one full screen program). Some programs work around this issue by injecting code into the program they want to appear on top of (e.g. Steam overlay). Though technically these programs are not actually on top of the program but rather they injected themselves into that program. I have a similar feature on my todo list, but there are a lot of issues and concerns regarding such a feature. I've highlighted the major ones in an earlier reply here community/forums/posts/7391965Insid3 wrote: 1c34t
its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
The workaround for the time being is to not run osu! in full screen mode (full screen borderless is fine). But this can cause performance issues for osu! So whether or not that's viable varies on a case-by-case basis.
ThanksInsid3 wrote: 1c34t
thank youRoan wrote: 416a1m
If osu! is running in full screen mode (which it probably is), then it is not possible to place another program on top of it (since there can only ever be one full screen program). Some programs work around this issue by injecting code into the program they want to appear on top of (e.g. Steam overlay). Though technically these programs are not actually on top of the program but rather they injected themselves into that program. I have a similar feature on my todo list, but there are a lot of issues and concerns regarding such a feature. I've highlighted the major ones in an earlier reply here community/forums/posts/7391965Insid3 wrote: 1c34t
its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
The workaround for the time being is to not run osu! in full screen mode (full screen borderless is fine). But this can cause performance issues for osu! So whether or not that's viable varies on a case-by-case basis.its really a amazing kps counter
npRoan wrote: 416a1m
ThanksInsid3 wrote: 1c34t
thank youRoan wrote: 416a1m
If osu! is running in full screen mode (which it probably is), then it is not possible to place another program on top of it (since there can only ever be one full screen program). Some programs work around this issue by injecting code into the program they want to appear on top of (e.g. Steam overlay). Though technically these programs are not actually on top of the program but rather they injected themselves into that program. I have a similar feature on my todo list, but there are a lot of issues and concerns regarding such a feature. I've highlighted the major ones in an earlier reply here community/forums/posts/7391965Insid3 wrote: 1c34t
its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
The workaround for the time being is to not run osu! in full screen mode (full screen borderless is fine). But this can cause performance issues for osu! So whether or not that's viable varies on a case-by-case basis.its really a amazing kps counter
![]()
Thank youInsid3 wrote: 1c34t
npRoan wrote: 416a1m
ThanksInsid3 wrote: 1c34t
thank youRoan wrote: 416a1m
If osu! is running in full screen mode (which it probably is), then it is not possible to place another program on top of it (since there can only ever be one full screen program). Some programs work around this issue by injecting code into the program they want to appear on top of (e.g. Steam overlay). Though technically these programs are not actually on top of the program but rather they injected themselves into that program. I have a similar feature on my todo list, but there are a lot of issues and concerns regarding such a feature. I've highlighted the major ones in an earlier reply here community/forums/posts/7391965Insid3 wrote: 1c34t
its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
The workaround for the time being is to not run osu! in full screen mode (full screen borderless is fine). But this can cause performance issues for osu! So whether or not that's viable varies on a case-by-case basis.its really a amazing kps counter
![]()
i wish the best of luck with you in osu and your programs
![]()
At the moment there is no for injecting the program into osu! to make it appear as if it is on top of osu! On Windows there can only ever be one full screen application on a monitor, anything that wants to appear on top has to inject itself into the renderer of the full screen application. Implementing for something like this comes with a fair number of issues and things to consider so while I'm considering it, I'm not sure if or when I'll work on this.strykeer25 wrote: 2gg5o
I don't understand if on windows it is possible to overlay it on full screen mode. I tried it without full screen and it works perfectly, but due to the full screen mode being off, there is a considerable delay when pressing keys.
Not sure if I completely understood the question, but if by key label you mean the display text of a , then there's currently no way to completely remove this. However, in the 'Add key' dialog you can double click the values in the 'key' column and change them to nothing. Although that will get ride of the text, there will still be space reserved on the for where the text would've gone. If completely removing the text and space reserved for the text is what you want, then I can put it on my todo list.LoPlomo wrote: g5i2n
Is there a way to remove the key "label"? thanks for all the work ^^
Hey, like you've already figured out, the negative values are reserved for the special values (end/max). Currently the only way to get extra rows is indeed by moving something else up.sillypilly wrote: 5j205p
Hey, I tried to make the row of keys, and the row of data (such as avg and cur) on 2 different rows, but on the y the only options are 0 or end which makes it into more rows? I can't figure out how to fix this.
EDIT: I figured out I can make the row of keys a higher y pos and the avg, cur and max at 0
Overlaying a full screen application is not actually possible for any application. When you see so called overlays what they are actually doing is injecting custom code into the renderer of the game they are overlaying. An easy work around is to just play osu! in full screen windowed mode, but this of course can sometimes lead to lower performance.Arstz wrote: 6y414
Don't know if it is possible on Java, but I would really appreciate you adding an "Ignore fullscreen button" or something like that, so it would go over fullscreen apps. Your "Overlay doesn't seem to it.
Well, I guess should have read previous posts there, sorry. If you say that understanding DirectX will be a ass pain then so be it. Maybe will try to make something similar on c++. Just was thinking about all those VN hooks, that were made by a couple of people - works fine. Anyway, using some library shouldn't be that hard, right? So far nice work on the app, will eagerly await your solution, whenever it comes.Roan wrote: 416a1m
Overlaying a full screen application is not actually possible for any application. When you see so called overlays what they are actually doing is injecting custom code into the renderer of the game they are overlaying. An easy work around is to just play osu! in full screen windowed mode, but this of course can sometimes lead to lower performance.Arstz wrote: 6y414
Don't know if it is possible on Java, but I would really appreciate you adding an "Ignore fullscreen button" or something like that, so it would go over fullscreen apps. Your "Overlay doesn't seem to it.
Making something that resembles an overlay, while technically possible, is a very tricky thing to do since you are tampering with the memory of a running game. If there are any bugs it's very easy to crash both applications, in addition you are also directly affecting the performance of the game since it now needs to render an additional overlay.
While I'm not against the idea completely and do have it on my long term todo list. It does take a fair bit of work to implement and if I do finish it I will include a fair warning. Especially games with anti-cheat software often don't like other programs messing with the memory of their game, save for some whitelisted applications.
For more details see my earlier replies about the topic: community/forums/posts/7749276
It's not so much just about understanding DirectX, it's about writing a DLL injection process and custom DLL with renderer modifications for all relevant versions of DirectX and OpenGL. Luckily there is a fair bit of overlap there. As far as I'm aware, while there are some implementations of specific overlay cases out there, no reliable generic libraries exist. If you know of any written in C/C++/Java then I would be interested.Arstz wrote: 6y414
Well, I guess should have read previous posts there, sorry. If you say that understanding DirectX will be a ass pain then so be it. Maybe will try to make something similar on c++. Just was thinking about all those VN hooks, that were made by a couple of people - works fine. Anyway, using some library shouldn't be that hard, right? So far nice work on the app, will eagerly await your solution, whenever it comes.Roan wrote: 416a1m
Overlaying a full screen application is not actually possible for any application. When you see so called overlays what they are actually doing is injecting custom code into the renderer of the game they are overlaying. An easy work around is to just play osu! in full screen windowed mode, but this of course can sometimes lead to lower performance.Arstz wrote: 6y414
Don't know if it is possible on Java, but I would really appreciate you adding an "Ignore fullscreen button" or something like that, so it would go over fullscreen apps. Your "Overlay doesn't seem to it.
Making something that resembles an overlay, while technically possible, is a very tricky thing to do since you are tampering with the memory of a running game. If there are any bugs it's very easy to crash both applications, in addition you are also directly affecting the performance of the game since it now needs to render an additional overlay.
While I'm not against the idea completely and do have it on my long term todo list. It does take a fair bit of work to implement and if I do finish it I will include a fair warning. Especially games with anti-cheat software often don't like other programs messing with the memory of their game, save for some whitelisted applications.
For more details see my earlier replies about the topic: community/forums/posts/7749276
Right now I am working on an another project so until finished don't expect anything. Anyhow, tested a couple of variants, EasyHook seems to work reliably enough: I could inject foreign DLLs in running osu! like fps monitor and process tracker. But as far as I am not sufficiently knowledgeable here it would take a bunch of time to understand the whole process. From here on now, まかせる。Roan wrote: 416a1m
It's not so much just about understanding DirectX, it's about writing a DLL injection process and custom DLL with renderer modifications for all relevant versions of DirectX and OpenGL. Luckily there is a fair bit of overlap there. As far as I'm aware, while there are some implementations of specific overlay cases out there, no reliable generic libraries exist. If you know of any written in C/C++/Java then I would be interested.Arstz wrote: 6y414
Well, I guess should have read previous posts there, sorry. If you say that understanding DirectX will be a ass pain then so be it. Maybe will try to make something similar on c++. Just was thinking about all those VN hooks, that were made by a couple of people - works fine. Anyway, using some library shouldn't be that hard, right? So far nice work on the app, will eagerly await your solution, whenever it comes.Roan wrote: 416a1m
Overlaying a full screen application is not actually possible for any application. When you see so called overlays what they are actually doing is injecting custom code into the renderer of the game they are overlaying. An easy work around is to just play osu! in full screen windowed mode, but this of course can sometimes lead to lower performance.Arstz wrote: 6y414
Don't know if it is possible on Java, but I would really appreciate you adding an "Ignore fullscreen button" or something like that, so it would go over fullscreen apps. Your "Overlay doesn't seem to it.
Making something that resembles an overlay, while technically possible, is a very tricky thing to do since you are tampering with the memory of a running game. If there are any bugs it's very easy to crash both applications, in addition you are also directly affecting the performance of the game since it now needs to render an additional overlay.
While I'm not against the idea completely and do have it on my long term todo list. It does take a fair bit of work to implement and if I do finish it I will include a fair warning. Especially games with anti-cheat software often don't like other programs messing with the memory of their game, save for some whitelisted applications.
For more details see my earlier replies about the topic: community/forums/posts/7749276
ありがとう, that library does look pretty nice and should at least be able to handle the DLL injection process. I unfortunately also do not have a lot of free time, but I'll see if I can figure out all the details sometime.Arstz wrote: 6y414
Right now I am working on an another project so until finished don't expect anything. Anyhow, tested a couple of variants, EasyHook seems to work reliably enough: I could inject foreign DLLs in running osu! like fps monitor and process tracker. But as far as I am not sufficiently knowledgeable here it would take a bunch of time to understand the whole process. From here on now, まかせる。Roan wrote: 416a1m
It's not so much just about understanding DirectX, it's about writing a DLL injection process and custom DLL with renderer modifications for all relevant versions of DirectX and OpenGL. Luckily there is a fair bit of overlap there. As far as I'm aware, while there are some implementations of specific overlay cases out there, no reliable generic libraries exist. If you know of any written in C/C++/Java then I would be interested.Arstz wrote: 6y414
Well, I guess should have read previous posts there, sorry. If you say that understanding DirectX will be a ass pain then so be it. Maybe will try to make something similar on c++. Just was thinking about all those VN hooks, that were made by a couple of people - works fine. Anyway, using some library shouldn't be that hard, right? So far nice work on the app, will eagerly await your solution, whenever it comes.Roan wrote: 416a1m
Overlaying a full screen application is not actually possible for any application. When you see so called overlays what they are actually doing is injecting custom code into the renderer of the game they are overlaying. An easy work around is to just play osu! in full screen windowed mode, but this of course can sometimes lead to lower performance.Arstz wrote: 6y414
Don't know if it is possible on Java, but I would really appreciate you adding an "Ignore fullscreen button" or something like that, so it would go over fullscreen apps. Your "Overlay doesn't seem to it.
Making something that resembles an overlay, while technically possible, is a very tricky thing to do since you are tampering with the memory of a running game. If there are any bugs it's very easy to crash both applications, in addition you are also directly affecting the performance of the game since it now needs to render an additional overlay.
While I'm not against the idea completely and do have it on my long term todo list. It does take a fair bit of work to implement and if I do finish it I will include a fair warning. Especially games with anti-cheat software often don't like other programs messing with the memory of their game, save for some whitelisted applications.
For more details see my earlier replies about the topic: community/forums/posts/7749276
-->https://easyhook.github.io/<-- Link
I'm not sure if I understand the problem. Loading a config should restore the state saved in that config file. There are no default values involved in this process. If you have a more specific example or a way to reproduce the issue I would be interested though.Synth_ixz wrote: b5sj
Is it possible for a config to be loaded without any default values? Say for example, if you had four keybinds and when I loaded my config, it legit just removed the third key and spaced the fourth one out by 2 in the layout menu. Is there a way I can fix this interface problem upon it being loaded up through the config?
Try just loading up the program without a config, making a new layout, and saving the config again with a different name. I've noticed it's a bit buggy in overwriting so just make sure it has a different name when saving.Synth_ixz wrote: b5sj
Is it possible for a config to be loaded without any default values? Say for example, if you had four keybinds and when I loaded my config, it legit just removed the third key and spaced the fourth one out by 2 in the layout menu. Is there a way I can fix this interface problem upon it being loaded up through the config?
Did you give the Keys per second application its own capture? if youre just capturing the screen, then it will be behind osu, and therefore wont show up.GeminiXYZ wrote: 3k6ax
i have it out on stream labs but it stops showing the key presses when i play in fullscreen. whenever I tab out of osu I shows the keys just fine, but when i go into osu its no Bueno
What you are saying should be correct. When you press "Save Config" a dialog should show where you can select a folder to save the config file to and optionally change the name of the file. Pressing "Save" should then save the config and show a confirmation dialog saying it was saved succesfully.noodleee__ wrote: 3h4a2t
Hi, I know this is a stupid question but, how do I save it. When I press "Save Config" It seems to open a window that shows where to save it but all the folders don't seem to work. Can someone help me with this? Thanks!
Thanks for letting me know. I'm aware that a lot of sites are unfortunately rehosting my programs without my permission. Luckily, for most sites it's just an exact copy of the official version I release. However, some sites include unwanted program like you say, or worse, computer viruses. Unfortunately there is not much I can do about these sites, so I can only hope that people pay close attention to where they're ing something :/Qbx33 wrote: 4ef1n
hey this was great but just to let u know there is a scam website using ur exact photos to some browser other than google on your pc thanks for this working one
If you're not running osu! in exclusive fullscreen mode then you can use the overlay mode setting. Overlay injection into a program running in exclusive fullscreen mode is currently not ed (see https://github.com/RoanH/KeysPerSecond/issues/28).tkltyj wrote: 2u555l
you cool and stuff but how can i see it in osu?
On the main screen there is a button on the right called 'save config'. Once the program is launched you can open the right click menu by clicking anywhere on the program and then navigate to the 'save / load' item, here is a 'save config' option as well.Sighfour wrote: 6r4x5q
how do you save configs?
Not sure where you got a zip file, for mac you need the ' Runnable Java Archive' link which gives you a .jar file. After that you just need to run it with Java, which you'll need to install if you don't already have it. I would assume that you can just double click the .jar file if you have Java installed, but I don't own a mac so I'm not entirely sure.osu_zack wrote: 4m662f
how do i start it on mac
if i the zip file all I get is a folder I don't get an application
i tried it again and it worked with java thank uuuuuRoan wrote: 416a1m
Not sure where you got a zip file, for mac you need the ' Runnable Java Archive' link which gives you a .jar file. After that you just need to run it with Java, which you'll need to install if you don't already have it. I would assume that you can just double click the .jar file if you have Java installed, but I don't own a mac so I'm not entirely sure.osu_zack wrote: 4m662f
how do i start it on mac
if i the zip file all I get is a folder I don't get an application
Nice!osu_zack wrote: 4m662f
i tried it again and it worked with java thank uuuuuRoan wrote: 416a1m
Not sure where you got a zip file, for mac you need the ' Runnable Java Archive' link which gives you a .jar file. After that you just need to run it with Java, which you'll need to install if you don't already have it. I would assume that you can just double click the .jar file if you have Java installed, but I don't own a mac so I'm not entirely sure.osu_zack wrote: 4m662f
how do i start it on mac
if i the zip file all I get is a folder I don't get an application
Make sure you get the 'Runnable Java Archive' version and make sure that you have Java 8 or higher installed. As far as I am aware you should be able to run the program by just double clicking the ed .jar file in that case.funnydon600 wrote: 473x4b
how do i open it? i am on mac 27 and it just gave me a folder..
Roan wrote: 416a1m
Keys per second h4ut
Update note: You can now also track mouse buttons
So I wanted to know how many keys / second I pressed in osu! And I had already seen programs like this on streams.
I could however not find a program that worked on my computer so I decided to write one myself.
The program when active looks like this:
![]()
![]()
Menu
Accessible by right clicking on the program.
For each configured key it shows how many times it is pressed. By default it also shows the maximum, average and current number of keys pressed per second.
When enabled it can also show a graph of the number of keys pressed per second over time. The horizontal line in the graph represents the average number of keys pressed per second.
Everything shown in the picture above can be toggled on or off and all the s can be arranged in a lot of different ways.
Lastly, there are also some commands that can be sent to the program:
Ctrl + P: Causes the program to reset the average and maximum value.
Ctrl + U: Terminates the program
Ctrl + I: Causes the program to reset the key press statistics.
Ctrl + Y: Shows / hides the GUI.
Ctrl + T: Pauses / resumes the counter.
Ctrl + R: Reloads the configuration file.
You can also move the program using the arrow keys this makes pixel perfect positioning possible.
Well I hope some of you find this program useful and/or will use it for your streams (I would love to see that happen).
And if you find any bugs feel free to report them.
Notes 22z5
- To clarify, you can add any key, and any number of keys to the program. So it can be used for any game mode.
- The overlay option doesn't work on a Mac nor does it work when the fullscreen option in osu! is enabled.
- When changing the key order, the keys are ordered from lowest value to highest value (negative values & skipping indices is allowed).
- To change a GUI colour in the colours menu, click on the current colour.
- An opacity of 100% means completely opaque and an opacity of 0% means completely transparent.
- The snap to screen edge function works on multi-monitor setups.
- You can move the window with the arrow keys at 3 different speeds 1, 2 & 3 pixels at a time (2=Ctrl, 3=Shift).
- You can also track mouse buttons with this program.
- The order for positions is from the top left to the bottom right.
- You can the path to the config file to load via the commandline or a shortcut so you can skip the configuration step.
- For some people running the program in Windows 98 / ME compatibility mode makes it so it can overlay full screen osu! so if you're lucky this might work.
Updates 471p5i
Update log2 February 2017: Added the option for the program to overlay the osu! window. This only works if osu! isn't being run in fullscreen mode.
5 February 2017: Added for a variable update rate & changed exit key to Ctrl + U (Ctrl + O opens the osu! options menu).
6 February 2017: Added the ability to configure the order in which the keys are displayed & some minor bug fixes.
9 February 2017: Invert the key text color when a key is pressed.
10 February 2017: Added the option to customize the GUI foreground & background colour.
12 February 2017: Added the option to track all keys, show tracked keys or not, fixed some edge case bugs & minor improvements.
12 February 2017: Added for more then 10k hits on a single key (now displays correctly) & added the option to hide a tracked key.
12 February 2017: Added the option to remove added keys.
16 February 2017: Added for decimal avg & cur, also added a new command key that hides the GUI.
17 February 2017: Added for transparent colours.
17 February 2017: Added automatic version checking & removed the decimal point for cur since cur is an integer.
18 February 2017: Added for a variable size & added an icon to the window.
21 March 2017: Major performance improvements & change opacity settings to use a percentage.
21 March 2017: Made adding keys a little bit easier.
24 March 2017: Added the option to a config file via the command line & minor bug fixes.
30 March 2017: Implemented a right click dialog, pause functionality & a snap to screen edge function.
31 March 2017: Fix ! path bug, add arrow key moving, improve window draging, properly reset the graph, fix no menu on graph.
1 April 2017: Implement 1 & 5ms update rate (U heavy), fix infinite instances bug, fix rendering bug, filter config selection view.
8 April 2017: Implement a text based config format & the option to configure the program while it's running & beter arrow moving .
12 April 2017: Fix checkmark not being colored, fix custom colors being reset, implement config caps & defaults, fix size issue, add add key cancel button
13 April 2017: Add pause checkmark, fix overlay option, implement config reloading (ctrl + R), Fix visual glitch, fix trackall bugs, NPE workaround, fix double click = ctrl, improve command line arguments.
16 April 2017: Added the option to track mouse buttons, added the option to save the onscreen location of the program to the config.
17 April 2017: Rendering fixes & fix the counters being reset when the color is changed.
19 April 2017: Fix keys not being removed when they should be, fix Win 10 rendering bug, Add cancel option for graph, size, precision & update rate, fix move keys moving the context menu & program at the same time, fix loading a new config not resetting stats.
29 April 2017: Minor optimizations, context menu improvements & fixes, add totals , fix some bugs.
30 April 2017: Fix an opacity bug that causes the window to be invisible with certain settings.
28 May 2017: Fix a localization bug & add the option to track key-modifier combinations.
28 June 2017: Added a lot of layout options.
28 June 2017: Fix the position/index feature for keys not working.
28 June 2017: Add warning for invalid key/row/columns combinations, improve reset menu, add a value-text horizontal rendering mode.
16 August 2017: Fix several bug involving key-modifier combinations & a bug showing weird mouse button text.
9 November 2017: Implement save stats feature & 6 additional rendering modes. Fix key capacity checks, changing the update rate mes the average, fix a multi-threading issue, fix a mode loading bug. Improve startup times & overall performance. Lots of internal refactoring & optimizations.
15 November 2017: Fix command keys with modefiers not working & visual enhancements for resetting.
24 December 2017: Fix all known key-modifier bugs, better for unfilled grids, internal optimizations.
2 June 2018: Fix the arrow keys displaying rather broken.
3 June 2018: Switch to arrow symbols with better availability, fix configuration position saving and UTF-8 , add GitHub link to the initialisation dialog.
12 September 2018: Completely new versatible layout system, rendering modes on a per key basis, improved performance.
27 December 2018: Variable layout size, variable layout border offset size, for the right shift key, several other bug fixes, improved dialogs.
5 February 2019: Changable key name, periodic stats saving, separate track all options for keys and mouse buttons, some bug fixes.
27 August 2020: Windows style file chooser, prevent loading non-existent config files, force quoting for cli config ing, fix background transparency not being applied to non- areas, general aesthetic and internal improvements.
24 May 2021: sub-pixel rendering, save/load statistics on exit/launch, jnativehook update, Java 16 compatibility fix, fix incorrect fill color border offset, prevent ESC from closing dialogs, enable the config save button by default.
Todo list / working on 3o50n
Todo listWorking on more cosmetic aswell as functional ideas.
s 6x4l5p
(Java 8 required, ed operating systems: Mac (tested 10.11.6), Linux (tested Ubuntu 16.04 LTS) & Windows (tested 7, 8 & 10))
Windows executable
Runnable Java Archive
All releases: link
GitHub repository: KeysPerSecond
You should be able to get Java from https://java.com or https://adoptopenjdk.net the warning you sometimes get when running the executable comes from the fact that as far as Windows is concerned I'm just a random person (who it doesn't really trust). The only way to prevent this warning is to pay for expensive code g certificates that would cost me hundreds of euros every year, which isn't really something I can afford to do for a project that generates no revenue for me. There should be a button on the warning dialog that allows you to run it anyway, whether you trust me enough to press it is up to you.heckerinnit wrote: 6v2e2r
i cant use it since i dont have the java thing, and i cant it either since my pc is saying that it will harm it and blocks it ;_; but fr its a very good thing, i have seen others use it but sad that i cant lol
hi, sorry for late reply lolRoan wrote: 416a1m
I assume you mean the number of counted key strokes, any specific reason for why this would be useful? If you want to persist your counts between sessions, then that's already possible.Paperzi wrote: a4n18
how about being able to change the number manually?
I see, this will be possible with a new stats saving format I had planned already. Though I'm unsure when I'll get around to implementing this (stats saving in general is broken in v8.5). If you don't mind waiting (or wait 9 months to reply again lol) then your problem should fix itself as the next stats format will be text based so you can just edit the values with a text file editor. Otherwise, if you don't have a lot of keys to copy over you can tell me the numbers and I'll manually craft a stats file you can load in v8.4 with those press counts set.paper2222 wrote: 1l5l66
hi, sorry for late reply lolRoan wrote: 416a1m
I assume you mean the number of counted key strokes, any specific reason for why this would be useful? If you want to persist your counts between sessions, then that's already possible.Paperzi wrote: a4n18
how about being able to change the number manually?
so, i've been using another keystroke counter already, so i'd just like to be able to manually enter the number on its own, so that i can use this one
Roan wrote: 416a1m
Thank youAgrrox wrote: 3s3t6k
Also to the interface... i think it will be better to invert the color of background and key, so its always visible when pressed. nice program![]()
, do you mean that when a key is pressed I should change the text color to black? If so I'll implement that as soon as I have some time, since that seems like a useful feature
.
Edit
Implemented! The color of the text now turns black when the key is pressed, this way the text on a key is always clearly readable. And thanks again for your
.
hi roan. i am wondering why windows protects your pc pops up. is this normal?Roan wrote: 416a1m
Keys per second h4ut
Update note: You can now also track mouse buttons
So I wanted to know how many keys / second I pressed in osu! And I had already seen programs like this on streams.
I could however not find a program that worked on my computer so I decided to write one myself.
The program when active looks like this:
![]()
![]()
Menu
Accessible by right clicking on the program.
For each configured key it shows how many times it is pressed. By default it also shows the maximum, average and current number of keys pressed per second.
When enabled it can also show a graph of the number of keys pressed per second over time. The horizontal line in the graph represents the average number of keys pressed per second.
Everything shown in the picture above can be toggled on or off and all the s can be arranged in a lot of different ways.
Lastly, there are also some commands that can be sent to the program:
Ctrl + P: Causes the program to reset the average and maximum value.
Ctrl + U: Terminates the program
Ctrl + I: Causes the program to reset the key press statistics.
Ctrl + Y: Shows / hides the GUI.
Ctrl + T: Pauses / resumes the counter.
Ctrl + R: Reloads the configuration file.
You can also move the program using the arrow keys this makes pixel perfect positioning possible.
Well I hope some of you find this program useful and/or will use it for your streams (I would love to see that happen).
And if you find any bugs feel free to report them.
Notes 22z5
- To clarify, you can add any key, and any number of keys to the program. So it can be used for any game mode.
- The overlay option doesn't work on a Mac nor does it work when the fullscreen option in osu! is enabled.
- When changing the key order, the keys are ordered from lowest value to highest value (negative values & skipping indices is allowed).
- To change a GUI colour in the colours menu, click on the current colour.
- An opacity of 100% means completely opaque and an opacity of 0% means completely transparent.
- The snap to screen edge function works on multi-monitor setups.
- You can move the window with the arrow keys at 3 different speeds 1, 2 & 3 pixels at a time (2=Ctrl, 3=Shift).
- You can also track mouse buttons with this program.
- The order for positions is from the top left to the bottom right.
- You can the path to the config file to load via the commandline or a shortcut so you can skip the configuration step.
- For some people running the program in Windows 98 / ME compatibility mode makes it so it can overlay full screen osu! so if you're lucky this might work.
- If you have an old config (kpsconf1 or kpsconf2) then you need to convert it with version 8.4 to load it in more recent versions.
Updates 471p5i
See the changelog on GitHub.
s 6x4l5p
(Java 8 required, ed operating systems: Mac (tested 10.11.6 & M1), Linux (tested Ubuntu 16.04 LTS) & Windows (tested 7, 8, 10 & 11))
Windows executable
Runnable Java Archive
All releases: link
GitHub repository: KeysPerSecond
This is usually expected yeah. Windows tends to show that because as far as Windows is concerned I'm just a random person who it doesn't really trust. The only way for me to prevent this warning dialog is to pay for expensive code g certificates that would cost me hundreds of euros every year. That way the application would no longer show up as 'Unknown Publisher'. Unfortunately this isn't really something I can afford to do on a project that generates me no revenue. You can by the warning dialog, but whether you trust me enough to do so is up to you.NoThisIsCasper wrote: 6g5i2d
hi roan. i am wondering why windows protects your pc pops up. is this normal?
As far as I'm aware it should run on 32 bits Windows as long as you have Java 8 or higher installed (last I tried everything still worked fine). Is there an error or anything that shows up? If you're comfortable with the command line (cmd) you can also try running `java -jar "C:\\path\to\KeysPerSecond-v8.7.exe"` which should give more information about the exact problem.Leite com toddy wrote: 6z1m3z
it doesn't run on windows 32 bits![]()