show more
[M]ika

Roan wrote:

xD I probably wouldn't be able to search for bug for 5 hours straigt though xD.
It's so much fun :P

Roan wrote:

I'd like to say so, but I honestly thougth I'd implemented that properly xD guess not :D
:D

Roan wrote:

I guess I forgot to mention that I actually improved on the config via command line functionality in v5.1. For the next version I'm going to improve on it even more by treating unrecognized non-ASCII characters as wild cards. This way all config files should be loaded, I hope xD
Uhm. Yes, you did forget to mention it :P
I don't think, treating them as wildcards is the best solution, though. If I had a file called "–.kpsconf2" or, things like that, it wouldn't recognize this one file anymore, since it has been interpreted to "*.kpsconf2", which would be all files with the .kpsconf2 extension. This could be dangerous o:
Think of Japanese computers for example. A file called "こんふぃぐ.kpsconf2"* would probably not work properly, since it would be interpreted to "*****.kpsconf2" o:
* that would be "config" / "konfigu" in Japanese (Hiragana, because I can't remember Katakana that well just yet) :P

Roan wrote:

^^ I bascially had to hack a part of the Java source code to implement them though :3. Variable assignment has never been so difficult:
How to assign a stubborn variable
private void setIcon(){
BasicMenuItemUI ui = (BasicMenuItemUI)this.getUI();
try {
Class<?> superClass = ui.getClass();
while(!superClass.getName().equals(BasicMenuItemUI.class.getName())){
superClass = superClass.getSuperclass();
}
Field field = superClass.getDeclaredField("checkIcon");
field.setAccessible(true);
field.set(ui, checkmark);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
haha, and that all just for changing a few colors of some tick-marks c: They do look a lot better now, though :D

Roan wrote:

Implemented/fixed all this for the next version. The reload command key is: Ctrl + R.
( ノ ゚ー゚)ノ

Roan wrote:

Yup, that's right the 1000ms refresh rate is the maximum. I guess I could change the 1000, but who'd want such a high update rate :3. 1000ms is already quite slow. I'll just raise it if you think it would be useful though :)
Yeah, one second is more than enough c:


Roan wrote:

I like breaking programs too :3
^^

Roan wrote:

xD You' re saying there'll actually be a point where you can no longer find any new bug o: that'd surprise me :D
Who knows? o:
There are things that just don't have many bugs, and there are things that have new bugs discovered even after many years :D
would surprise me too, though :D

Roan wrote:

I'm preatty sure different Java versions shouldn't be an issue. Well it'll be fixed with the new command line parsing I'm about the implement though ;)
yay \:D/

Roan wrote:

Ah so that's what it is o:
yup ^~^

Roan wrote:

o: this is quite serious (and weird) I wonder what causes this :roll:
That :roll: is the creepiest smiley ever xD

Roan wrote:

Oops looks like a made a mistake somewhere xD

[x]: Disabling track all disables all keys
No more mistakes here c:

Roan wrote:

Nicely spotted :D I don't think I'd ever have found that one o:

I'm sorry, it just reminded me of this :3

Roan wrote:

That was causes by a little oversight from moving all the config related stuff. Looks like I forgot to move a single line xD. It's fixed now :D. It actually still worked if you enabled it from the right click menu. I don't plan on ever removing this feature by the way since I use it all the time :3.
c:

Roan wrote:

Implemented :D
ヽ(。・ω・。)ノ

yay c:
Topic Starter
Roan

SALZKARTOFFEEEL wrote:

Roan wrote:

xD I probably wouldn't be able to search for bug for 5 hours straigt though xD.
It's so much fun :P
xD

SALZKARTOFFEEEL wrote:

Roan wrote:

I'd like to say so, but I honestly thougth I'd implemented that properly xD guess not :D
:D

Roan wrote:

I guess I forgot to mention that I actually improved on the config via command line functionality in v5.1. For the next version I'm going to improve on it even more by treating unrecognized non-ASCII characters as wild cards. This way all config files should be loaded, I hope xD
Uhm. Yes, you did forget to mention it :P
I don't think, treating them as wildcards is the best solution, though. If I had a file called "–.kpsconf2" or, things like that, it wouldn't recognize this one file anymore, since it has been interpreted to "*.kpsconf2", which would be all files with the .kpsconf2 extension. This could be dangerous o:
Think of Japanese computers for example. A file called "こんふぃぐ.kpsconf2"* would probably not work properly, since it would be interpreted to "*****.kpsconf2" o:
* that would be "config" / "konfigu" in Japanese (Hiragana, because I can't remember Katakana that well just yet) :P
Well I don't have any other solution. Also one non-ASCII character only counts for one character. So for example: something-こ.kpsconf2 would be interpreted as something-*.kpsconf2. Now any character is allowed at the place of the *. So *.kpsconf2 would only match .kpsconf2 files that have a name that is a single character long. So it'll still load -.kpsconf2 unless ofcourse there's another file with a one character name like こ.kpsconf2 that would match too. But not ab.kpsconf2.

SALZKARTOFFEEEL wrote:

Roan wrote:

^^ I bascially had to hack a part of the Java source code to implement them though :3. Variable assignment has never been so difficult:
How to assign a stubborn variable
private void setIcon(){
BasicMenuItemUI ui = (BasicMenuItemUI)this.getUI();
try {
Class<?> superClass = ui.getClass();
while(!superClass.getName().equals(BasicMenuItemUI.class.getName())){
superClass = superClass.getSuperclass();
}
Field field = superClass.getDeclaredField("checkIcon");
field.setAccessible(true);
field.set(ui, checkmark);
} catch (NoSuchFieldException e) {
e.printStackTrace();
} catch (SecurityException e) {
e.printStackTrace();
} catch (IllegalArgumentException e) {
e.printStackTrace();
} catch (IllegalAccessException e) {
e.printStackTrace();
}
}
haha, and that all just for changing a few colors of some tick-marks c: They do look a lot better now, though :D
Yup :D

SALZKARTOFFEEEL wrote:

Roan wrote:

Implemented/fixed all this for the next version. The reload command key is: Ctrl + R.
( ノ ゚ー゚)ノ

Roan wrote:

Yup, that's right the 1000ms refresh rate is the maximum. I guess I could change the 1000, but who'd want such a high update rate :3. 1000ms is already quite slow. I'll just raise it if you think it would be useful though :)
Yeah, one second is more than enough c:


Roan wrote:

I like breaking programs too :3
^^

Roan wrote:

xD You' re saying there'll actually be a point where you can no longer find any new bug o: that'd surprise me :D
Who knows? o:
There are things that just don't have many bugs, and there are things that have new bugs discovered even after many years :D
would surprise me too, though :D
Yeah bugs really like to hide :3.

SALZKARTOFFEEEL wrote:

Roan wrote:

I'm preatty sure different Java versions shouldn't be an issue. Well it'll be fixed with the new command line parsing I'm about the implement though ;)
yay \:D/

Roan wrote:

Ah so that's what it is o:
yup ^~^

Roan wrote:

o: this is quite serious (and weird) I wonder what causes this :roll:
That :roll: is the creepiest smiley ever xD
Yeah it's kinda creepy xD.

SALZKARTOFFEEEL wrote:

Roan wrote:

Oops looks like a made a mistake somewhere xD

[x]: Disabling track all disables all keys
No more mistakes here c:
Yay :D

SALZKARTOFFEEEL wrote:

Roan wrote:

Nicely spotted :D I don't think I'd ever have found that one o:

I'm sorry, it just reminded me of this :3
:3 so cute

SALZKARTOFFEEEL wrote:

Roan wrote:

That was causes by a little oversight from moving all the config related stuff. Looks like I forgot to move a single line xD. It's fixed now :D. It actually still worked if you enabled it from the right click menu. I don't plan on ever removing this feature by the way since I use it all the time :3.
c:

Roan wrote:

Implemented :D
ヽ(。・ω・。)ノ

yay c:
There are no new bug reports in this post o: that really surprised me xD.
Nygglatho
Hey, sorry for the late reply :o

Just wanted to let you know that 5.2s workaround fixed my issue. :) Many thanks!
Topic Starter
Roan

Rumi wrote:

Hey, sorry for the late reply :o

Just wanted to let you know that 5.2s workaround fixed my issue. :) Many thanks!
Yay :) glad it works for you now ;)

Edit
Update notes (v5.3):
- Added the option to track mouse buttons
- Added the option to save the on screen position of the program to the config.

Edit 2
Update notes (v5.4):
- Fix the backgroud opacity being used as the graph foreground opacity.
- Fix the key color not being inverted when the background opacity is 0%.
- Fixed some rendering issues when only displaying a single panel.
- Fix changing the colors resetting the key counters.
- Fix the pause check mark in the right click menu not being toggled by Ctrl + T.
- Change overlay osu! to overlay mode since it doesn't always overlay osu! properly.
[M]ika
Woah, it's been a while :/ I completely skipped version 5.3 and you fixed so many bugs on your own! :D
Sorry for that :c

Roan wrote:

Well I don't have any other solution. Also one non-ASCII character only counts for one character. So for example: something-こ.kpsconf2 would be interpreted as something-*.kpsconf2. Now any character is allowed at the place of the *. So *.kpsconf2 would only match .kpsconf2 files that have a name that is a single character long. So it'll still load -.kpsconf2 unless ofcourse there's another file with a one character name like こ.kpsconf2 that would match too. But not ab.kpsconf2.
Huh, from my understanding of asterisks/wild cards they represent any number of any character!
"*.*" is used in many different languages and situations to say "every file", not just every file with a file name and extension that's only one character long! o:
I mean, if it is actually true that every non-ASCII character represents one other character in your program, then that's great, but I thought actual wild cards worked differently :D

Roan wrote:

:3 so cute
Yeah, she really is :3

[quote"Roan"]
There are no new bug reports in this post o: that really surprised me xD.
[/quote]Yeah, I didn't have that much time and I couldn't find any that quick c:
which doesn't mean that I don't have any now c:

Roan wrote:

Edit
Update notes (v5.3):
- Added the option to track mouse buttons
- Added the option to save the on screen position of the program to the config.

Edit 2
Update notes (v5.4):
- Fix the backgroud opacity being used as the graph foreground opacity.
- Fix the key color not being inverted when the background opacity is 0%.
- Fixed some rendering issues when only displaying a single panel.
- Fix changing the colors resetting the key counters.
- Fix the pause check mark in the right click menu not being toggled by Ctrl + T.
- Change overlay osu! to overlay mode since it doesn't always overlay osu! properly.
o.O that's much o:


Bugs:

1) The context menu controls have the same keys as the window-moving, the arrow keys. They interfere with each other. I don't think this is that big of a deal, but I wanted to point it out c:

2) Removing any keys (mouse buttons as well) doesn't work o: The keys aren't displayed anymore, but they still affect the average, maximum, etc.

3) This probably has to do with bug #2, but anyway: Loading a new config file also doesn't disable the previous keys, I can still use them.

4) I'm not sure whether this is a feature or a bug. Loading a new config file doesn't reset any of the stats or totals.

5) Having the background color opacity lower than 100% does.. stuf.... I've prepared a video o:
At first I thought, this would only affect the color negation of the key counters, that's why I made this GIF file:
But no, it affects pretty much everything :D For example, the general slowness of the program and it showing weird white strips in the config menu is weird to me too. When I reset the opacity to 100% everything is fine again, but not when it's below that o:

It probably has something to do with this fix that you previously wrote:

- Fix the key color not being inverted when the background opacity is 0%.

Request:

1) I think we both didn't even think of this. The key counter has it's cancel-button now, but everything else doesn't :D
I believe that it's not very important, there isn't all that much to lose at the other menus (except the color picker) o:





Uhm, that's it again. I probably missed something, though :D



By the way, and this has nothing to do with KeysPerSecond, I figured out some new ways to use the auto-replace feature of AutoHotkey, which I use in my program to create the "–", "©", "≠", and so on. It can now quickly tell time and date, and restart/exit itself just by typing the 'commands' anywhere.
And then I actually made it so that it would autocomplete the osu! BBCode tags, just for writing these posts a bit easier c:
Though, I'm pretty sure that I won't really release it publicly o:
Topic Starter
Roan

SALZKARTOFFEEEL wrote:

Woah, it's been a while :/ I completely skipped version 5.3 and you fixed so many bugs on your own! :D
Sorry for that :c
^^ actually I was starting too fee lonely ;-;

SALZKARTOFFEEEL wrote:

Roan wrote:

Well I don't have any other solution. Also one non-ASCII character only counts for one character. So for example: something-こ.kpsconf2 would be interpreted as something-*.kpsconf2. Now any character is allowed at the place of the *. So *.kpsconf2 would only match .kpsconf2 files that have a name that is a single character long. So it'll still load -.kpsconf2 unless ofcourse there's another file with a one character name like こ.kpsconf2 that would match too. But not ab.kpsconf2.
Huh, from my understanding of asterisks/wild cards they represent any number of any character!
"*.*" is used in many different languages and situations to say "every file", not just every file with a file name and extension that's only one character long! o:
I mean, if it is actually true that every non-ASCII character represents one other character in your program, then that's great, but I thought actual wild cards worked differently :D
Yeah, normal behavior would be to match any number of characters. But since I implemented the wildcarding system for KeysPerSecond myself I restricted it to only a single character per non-ASCII character :D

SALZKARTOFFEEEL wrote:

Roan wrote:

:3 so cute
Yeah, she really is :3

Roan wrote:

There are no new bug reports in this post o: that really surprised me xD.
Yeah, I didn't have that much time and I couldn't find any that quick c:
which doesn't mean that I don't have any now c:
Yay :)

SALZKARTOFFEEEL wrote:

Roan wrote:

Edit
Update notes (v5.3):
- Added the option to track mouse buttons
- Added the option to save the on screen position of the program to the config.

Edit 2
Update notes (v5.4):
- Fix the backgroud opacity being used as the graph foreground opacity.
- Fix the key color not being inverted when the background opacity is 0%.
- Fixed some rendering issues when only displaying a single panel.
- Fix changing the colors resetting the key counters.
- Fix the pause check mark in the right click menu not being toggled by Ctrl + T.
- Change overlay osu! to overlay mode since it doesn't always overlay osu! properly.
o.O that's much o:
Well I had some spare time :3

SALZKARTOFFEEEL wrote:

Bugs:

1) The context menu controls have the same keys as the window-moving, the arrow keys. They interfere with each other. I don't think this is that big of a deal, but I wanted to point it out c:
:o you can actually use the arrow keys to move in the context menu xD. Didn't know that :3. In that case I'll just prevent the window from moving when the context menu is open.

SALZKARTOFFEEEL wrote:

2) Removing any keys (mouse buttons as well) doesn't work o: The keys aren't displayed anymore, but they still affect the average, maximum, etc.
Ehm, yeah, xD, this is a side effect of a certain bug fix :3, which apparently introduced new bugs xD.

Roan wrote:

- Fix changing the colors resetting the key counters.

SALZKARTOFFEEEL wrote:

3) This probably has to do with bug #2, but anyway: Loading a new config file also doesn't disable the previous keys, I can still use them.
Yup, this has exactly the same cause as #2 ^^

SALZKARTOFFEEEL wrote:

4) I'm not sure whether this is a feature or a bug. Loading a new config file doesn't reset any of the stats or totals.
Well I think it should just reset them, so I'll call it a bug :3

SALZKARTOFFEEEL wrote:

5) Having the background color opacity lower than 100% does.. stuf.... I've prepared a video o:
At first I thought, this would only affect the color negation of the key counters, that's why I made this GIF file:
But no, it affects pretty much everything :D For example, the general slowness of the program and it showing weird white strips in the config menu is weird to me too. When I reset the opacity to 100% everything is fine again, but not when it's below that o:

It probably has something to do with this fix that you previously wrote:

- Fix the key color not being inverted when the background opacity is 0%.
Well this is interesting, since this actually doesn't happen on Window 7 or Windows 8 o: I wonder what they changed xD. It looks as though the
text is interpreted as white, which is interesting. So now I just need to steal someone's Windows 10 laptop for testing purposes :3

SALZKARTOFFEEEL wrote:

Request:

1) I think we both didn't even think of this. The key counter has it's cancel-button now, but everything else doesn't :D
I believe that it's not very important, there isn't all that much to lose at the other menus (except the color picker) o:
The color picker already has cancel functionality :3. The color menu & add key menu also have it. I guess I'll add it for the update rate, graph, precision & size too since it shouldn't be too difficult to add anyway.


SALZKARTOFFEEEL wrote:

Uhm, that's it again. I probably missed something, though :D
Probably, bugs always show up when you least expect them, ninja bugs :3

SALZKARTOFFEEEL wrote:


By the way, and this has nothing to do with KeysPerSecond, I figured out some new ways to use the auto-replace feature of AutoHotkey, which I use in my program to create the "–", "©", "≠", and so on. It can now quickly tell time and date, and restart/exit itself just by typing the 'commands' anywhere.
And then I actually made it so that it would autocomplete the osu! BBCode tags, just for writing these posts a bit easier c:
Though, I'm pretty sure that I won't really release it publicly o:
:) that's very useful actually xD. I think there would be interest in a program that automatically completes BBCode tags ^^

Edit
Todo list:
[x]: Cancel option for graph, size, precision & update rate
[x]: Fix opacity weirdness #5
[x]: Fix config file not resetting stats
[x]: Fix keys not actually being removed
[x]: Fix keys not being removed when a new config is loaded
[x]: Fix arrow keys moving both the context menu & program.

Edit 2
Released version 5.5.

Edit 3
Released version 6.0 with the folowing fixes & features:
- Minor internal optimizations.
- Context menu GUI improvements / changes & custom colours compatibility.
- Fix context menu arrow not being colored.
- Fix a bug where the general menu section wasn't saved properly.
- Add a panel that shows the total amount of hits accros all keys.
- Fix the context menu highlighting disappearing when changing the background opacity to 100%.
- Fix not all context menu items being colored correctly when using custom colors & having them disabled.
- Fix context menu selection not being reset properly.
- Implement the option to change the command keys and save them to the configuration file.

Edit 4
Released version 6.1 to fix a bug:
- Fix the background opacity controlling the global opacity (for example a background opacity of 0% will make the window invisible even if the foreground opacity isn't 0%).
WF Night
if my osu! is in full screen mode, can this be showed?
Topic Starter
Roan

WF Night wrote:

if my osu! is in full screen mode, can this be showed?
osu! can be in fullscreen resolution, but it can't actually have the fullscreen property set. Otherwise both programs will fight for the top window property (fullscreen implies topmost window) and that causes neither of them to work correctly :/

I've experimented with a lot of things, but currently I haven't found an alternative or fix for this issue yet :o .
DeletedUser_6741014
Good kps programs for osu (or other games), thanks you :D

Btw, I don't know if this is a bug, but, when I add key on the kps, some show a totally different thing, like the key ": or /" on a azerty keyboard is show as "barre oblique" (french word for choosing "/") or the key "! or §" is show as "¥" or even the shift key on the right show an error "unknown keycode: 0xe36" ;w;

So I was wondering if you can do something for this because it's really weird

Here a screen of the programs when launched : http://i.imgur.com/160g6zJ.png
Here one on the key panel : http://i.imgur.com/w0I0MUu.png
IxWolfie

Roan wrote:

Otherwise both programs will fight for the top window property (fullscreen implies topmost window) and that causes neither of them to work correctly :/
You'd have to un-prioritize osu by being on top (which I believe is impossible when it's in fullscreen without breaking it).

On another note, is there a way you can add commands to be added. For example, ctrl+1? I'm kind of multi-purposing this for something else, and I can't find a KPS program that will do that.
Topic Starter
Roan

Kizunuko-P wrote:

Good kps programs for osu (or other games), thanks you :D

Btw, I don't know if this is a bug, but, when I add key on the kps, some show a totally different thing, like the key ": or /" on a azerty keyboard is show as "barre oblique" (french word for choosing "/") or the key "! or §" is show as "¥" or even the shift key on the right show an error "unknown keycode: 0xe36" ;w;

So I was wondering if you can do something for this because it's really weird

Here a screen of the programs when launched : http://i.imgur.com/160g6zJ.png
Here one on the key panel : http://i.imgur.com/w0I0MUu.png
>.< I'm sorry for the late reply, for some reason I got unsubscribed from the thread and I've been kinda busy with exams. That being said, this looks like quite a weird bug. It might have something to do with keyboard layouts and as of now I'm not yet sure whether or not it's an issue with the native library I'm using or my program. I'll look into it after exams ^^.

Glad you like the program :) .

IxWolfie wrote:

Roan wrote:

Otherwise both programs will fight for the top window property (fullscreen implies topmost window) and that causes neither of them to work correctly :/
You'd have to un-prioritize osu by being on top (which I believe is impossible when it's in fullscreen without breaking it).
I tried taking the fullscreen property from osu! by force, but that came with some undesirabe side effects xD. Most notably the fact that all of the benefits of running fullscreen where gone :(

IxWolfie wrote:

On another note, is there a way you can add commands to be added. For example, ctrl+1? I'm kind of multi-purposing this for something else, and I can't find a KPS program that will do that.
Do you mean extra custom command bindings? If that's the case that shouldn't be too hard to do since most of the command related logic is quite modular already. I'll give it a go after exams ^^.

P.S. My exams end wednesday.

Edit
Kizunuko-P I just thought of a cheaty way to solve your problem temporarily. Once you have added all the keys you can save them to a config file. After that you can edit the config file using a text editor and change the name of the keys. After loading that config file with KeysPerSecond the edited key names should be displayed ^^

Edit 2
Found the cause of the bug, working on a fix.
IxWolfie

Roan wrote:

Do you mean extra custom command bindings? If that's the case that shouldn't be too hard to do since most of the command related logic is quite modular already. I'll give it a go after exams ^^.

P.S. My exams end wednesday.
Just to be sure we think the same thing, when it asks for a keybind, and I put Alt+4, it'll only go up when I press alt and 4 at the same time. Having 4, and alt+4 as separate commands.
Topic Starter
Roan

IxWolfie wrote:

Roan wrote:

Do you mean extra custom command bindings? If that's the case that shouldn't be too hard to do since most of the command related logic is quite modular already. I'll give it a go after exams ^^.

P.S. My exams end wednesday.
Just to be sure we think the same thing, when it asks for a keybind, and I put Alt+4, it'll only go up when I press alt and 4 at the same time. Having 4, and alt+4 as separate commands.
Hmm, I not quite sure if I understand it correctly or not. As I read it now you want 'Alt+4' and '4' to act as seperate commands right? And pressing 'Alt+4' should not trigger the '4' command.

If that's the case then it should already work that way. If it doesn't then you've probably found a bug ;).

Otherwise I don't yet understand the problem/request :o
IxWolfie

Roan wrote:

Hmm, I not quite sure if I understand it correctly or not. As I read it now you want 'Alt+4' and '4' to act as seperate commands right? And pressing 'Alt+4' should not trigger the '4' command.

If that's the case then it should already work that way. If it doesn't then you've probably found a bug .
I tried it earlier, and it wouldn't actually recognize Alt+4 as a command. It'd see that I pressed 4, and assume that I only wanted 4 down.

Example:
Assign a key.
Hold Alt, then press 4.
Only 4 will appear (when I tested it).
Topic Starter
Roan

IxWolfie wrote:

Roan wrote:

Hmm, I not quite sure if I understand it correctly or not. As I read it now you want 'Alt+4' and '4' to act as seperate commands right? And pressing 'Alt+4' should not trigger the '4' command.

If that's the case then it should already work that way. If it doesn't then you've probably found a bug .
I tried it earlier, and it wouldn't actually recognize Alt+4 as a command. It'd see that I pressed 4, and assume that I only wanted 4 down.

Example:
Assign a key.
Hold Alt, then press 4.
Only 4 will appear (when I tested it).
o: you're talking about tracked keys. Since I've improved the modifier system I suppose that could be implemented. I'll give it a go tomorrow if I have time. Not sure how I'm going to visually display that the key has Ctrl and/or Alt added though.

So just to check I now understand it. You want the option to track key presses for a key-modifier combination such as Alt+4.
IxWolfie

Roan wrote:

o: you're talking about tracked keys. Since I've improved the modifier system I suppose that could be implemented. I'll give it a go tomorrow if I have time. Not sure how I'm going to visually display that the key has Ctrl and/or Alt added though.

So just to check I now understand it. You want the option to track key presses for a key-modifier combination such as Alt+4.
Yes, that's it! Sorry for being difficult, lmao. I'm using for something COMPLETELY unrelated to osu. I'm actually using it for an MMO, where some of my skill hotkeys are alt+1-5 for example. On top of that, some of my hotkeys are 1-5. So, I want it to track the key combinations alt+1, through alt+5, as well as 1-5 as separate keys. This is the only program that actually has a decent GUI to it to show on a video, or on stream perhaps.

For tracking it, you could just do A+1, or C+1? It'd keep it small, so it doesn't stick super far out of the physical key icon that's there, perhaps?
Topic Starter
Roan

IxWolfie wrote:

Roan wrote:

o: you're talking about tracked keys. Since I've improved the modifier system I suppose that could be implemented. I'll give it a go tomorrow if I have time. Not sure how I'm going to visually display that the key has Ctrl and/or Alt added though.

So just to check I now understand it. You want the option to track key presses for a key-modifier combination such as Alt+4.
Yes, that's it! Sorry for being difficult, lmao. I'm using for something COMPLETELY unrelated to osu. I'm actually using it for an MMO, where some of my skill hotkeys are alt+1-5 for example. On top of that, some of my hotkeys are 1-5. So, I want it to track the key combinations alt+1, through alt+5, as well as 1-5 as separate keys. This is the only program that actually has a decent GUI to it to show on a video, or on stream perhaps.

For tracking it, you could just do A+1, or C+1? It'd keep it small, so it doesn't stick super far out of the physical key icon that's there, perhaps?
:) okay, now I can start adding it ;) . I don't really have a strict ETA but I think I'll be able to get it done before the end of this week.
I never even though about using it for an MMO though xD. But it's a very valid use, so I'll be adding support for keys with one or more of the three modifier keys (shift, alt, ctrl) I added shift since that is the modifier key I use in MMO's :D .
IxWolfie

Roan wrote:

:) okay, now I can start adding it ;) . I don't really have a strict ETA but I think I'll be able to get it done before the end of this week.
I never even though about using it for an MMO though xD. But it's a very valid use, so I'll be adding support for keys with one or more of the three modifier keys (shift, alt, ctrl) I added shift since that is the modifier key I use in MMO's :D .
Take your time! No rush at all!
Topic Starter
Roan

Kizunuko-P wrote:

Good kps programs for osu (or other games), thanks you :D
Btw, I don't know if this is a bug, but, when I add key on the kps, some show a totally different thing, like the key ": or /" on a azerty keyboard is show as "barre oblique" (french word for choosing "/") or the key "! or §" is show as "¥" or even the shift key on the right show an error "unknown keycode: 0xe36" ;w;
So I was wondering if you can do something for this because it's really weird
Here a screen of the programs when launched : http://i.imgur.com/160g6zJ.png
Here one on the key panel : http://i.imgur.com/w0I0MUu.png


This should now mostly be fixed in version 6.2 :D. The only thing I'm not sure about is the "¥" and shift case.

IxWolfie wrote:

Roan wrote:

:) okay, now I can start adding it ;) . I don't really have a strict ETA but I think I'll be able to get it done before the end of this week.
I never even though about using it for an MMO though xD. But it's a very valid use, so I'll be adding support for keys with one or more of the three modifier keys (shift, alt, ctrl) I added shift since that is the modifier key I use in MMO's :D .

Take your time! No rush at all!


Implemented :D, I haven't tested it very thoroughly though so there might still be some bugs.

P.S. One minor detail is that pressing the key and after that a modifier doesn't trigger the tracker. But finding a way around that would impact performance. Besides you usually already have the modifier key down when pressing the 'real' key. I might change this later though if I come up with an efficient algorithm.
IxWolfie

Roan wrote:

Implemented :D, I haven't tested it very thoroughly though so there might still be some bugs.
P.S. One minor detail is that pressing the key and after that a modifier doesn't trigger the tracker. But finding a way around that would impact performance. Besides you usually already have the modifier key down when pressing the 'real' key. I might change this later though if I come up with an efficient algorithm.


Alright! I'll test it in a little bit and tell you if I find anything. Big shoutout! <3 Also, these new forums are a little weird.. I'm not used to it yet. :p
Topic Starter
Roan

IxWolfie wrote:

Roan wrote:

Implemented :D, I haven't tested it very thoroughly though so there might still be some bugs.
P.S. One minor detail is that pressing the key and after that a modifier doesn't trigger the tracker. But finding a way around that would impact performance. Besides you usually already have the modifier key down when pressing the 'real' key. I might change this later though if I come up with an efficient algorithm.

Alright! I'll test it in a little bit and tell you if I find anything. Big shoutout! <3 Also, these new forums are a little weird.. I'm not used to it yet. :p

^^ Yeah I'm not completely used to the new forums either, but since I don't get to update this program that often anymore. I thought I'd change the link before the old one goes down :3
RockRoller
(I didnt read all 5 pages, hoping nobody allready made these suggestions)

I really like your program. The functionality is perfect, but it doesnt look god for me. I would be happy if we could have a little bit more freedom with the design.
I would replace the default keycounter with yours, but yours is horizontal.
What I would wish is that we cann re-arange the positionating of the keys, so we could for example form it like the inputoverlay. Then we could do for example K1,K2,Avg and Max instead of K1,k2,M1,M2 from osus keycounter.


I hope you can understand my bad english, if u have any questions about my suggestions please answer to this reply or write me ingame.
Topic Starter
Roan

RockRoller wrote:

(I didnt read all 5 pages, hoping nobody allready made these suggestions)

I really like your program. The functionality is perfect, but it doesnt look god for me. I would be happy if we could have a little bit more freedom with the design.
I would replace the default keycounter with yours, but yours is horizontal.
What I would wish is that we cann re-arange the positionating of the keys, so we could for example form it like the inputoverlay. Then we could do for example K1,K2,Avg and Max instead of K1,k2,M1,M2 from osus keycounter.


I hope you can understand my bad english, if u have any questions about my suggestions please answer to this reply or write me ingame.
I think I get the general idea (being able to arrange the keys in any layout horizontal & vertical). It'll probably take a while to implement though ;) .

Edit:
Finally done implementing this :)
There might be some new bugs aswell though :D so if you find any, please report them ^^
Topic Starter
Roan

New updates

Version 6.3

Add a lot of layout related options:
- All text can now be rendered either horizontal or vertical (default)
- Panels can now be organized in a grid instead of just a single row. The number of rows and columns is custom.
- Positions can now also be assigned to the max, avg, cur & tot panels. Meaning they can now also be placed at a custom place instead of at the end of the row.
- 4 new modes of the graph are implemented. Under the other components (default), on top of them, on the right of them, on the left of them and detached. When the graph is detached it gets it's own window that can be given a custom size.
- The graph dimensions are no longer fixed and can be changed (as long as the side isn't shared).
- Support to save & load all of the above to a configuration file.

Version 6.4
Fix the position/index feature not working. (version 6.4)

Version 6.5
- Added warning dialog to prevent more keys being added then there are rows & columns.
- Added an extra render mode for rendering horizontal keys in the value-text format.
- Add specific reset commands to the reset menu.
gaming epic
I was searching for this aswell. Luckily you made one. Thanks! ;)
Topic Starter
Roan

Nxshio wrote:

I was searching for this aswell. Luckily you made one. Thanks! ;)
I'm glad you like it :)

Update

Version 6.6
- Added warning dialog to prevent more keys being added then there are rows & columns.
- Added an extra render mode for rendering horizontal keys in the value-text format.
- Add specific reset commands to the reset menu.
Applome
can i see it while playing osu ???
Topic Starter
Roan

Applome wrote:

can i see it while playing osu ???
You can, but only if you don't run osu! with the fullscreen option checked (fullscreen resolution is fine).



Roan wrote:

osu! can be in fullscreen resolution, but it can't actually have the fullscreen property set. Otherwise both programs will fight for the top window property (fullscreen implies topmost window) and that causes neither of them to work correctly :/

I've experimented with a lot of things, but currently I haven't found an alternative or fix for this issue yet :o .
Topic Starter
Roan

Update

- Implement a feature where you can save the statistics to a file
- Fix key capacity checks being incorrect
- Implement 6 additional rendering modes

- Improve overall performance
- Fix changing the update rate messing up the average
- Fix a multithreading issues (as kindly pointed out by freakode)
- Lots of internal refactoring & optimizations
- Improve startup times
- Fix a bug with the rendering mode loading
Vahr
THanks for making this, appreciate the help!
Topic Starter
Roan

Vahr wrote:

THanks for making this, appreciate the help!
You're welcome :) Glad you like it ^^
dressurf
Hi, Firstly , thank you for making this program,
but i'm afraid that it (or maybe only me) have the problem of using commands,
it seems like Ctrl + P (and other commands) is not working.
Do you have any recommandations that i have to do?
Topic Starter
Roan

anti- wrote:

Hi, Firstly , thank you for making this program,
but i'm afraid that it (or maybe only me) have the problem of using commands,
it seems like Ctrl + P (and other commands) is not working.
Do you have any recommandations that i have to do?
Hi, thank you for reporting this. I just tested it and it seems that I broke it somehow.
I'll try to find the bug and fix this a.s.a.p. meanwhile I discovered that if you change the command keys to something without a modifer (e.g. just P) then it will still work.
It'll hopefully be fixed soon and thank you for using KeysPerSecond :)

Edit: I found the bug, it should be fixed within about an hour from now.

Edit 2: All fixed :)

Update v7.1

-Fix command keys with modifiers not working
-Repaint the frame when resetting statistics or totals for an immediate display update
nobully
Hi, could you make an auto-load feature for config files? Thanks!
Topic Starter
Roan

nobully wrote:

Hi, could you make an auto-load feature for config files? Thanks!
It's already there you can pass a config file to the program either via the command line or if you associate the .kpsconf2 file format with the executable.

So you could either make a small .bat file containing: "path/to/KeysPerSecond.exe path/to/config.kpsconf2".
Or click the config file -> open with -> and then select the KeysPerSecond executable (works as long as you don't move the executable afterwards).

If this wasn't what you meant feel free to correct me :)
nobully
Oh okay, I totally didn't think of a bat file, thanks! Though what I had in mind was the program does this for you, you just tell it which config to load automatically if you choose to. Just something I thought of :)

EDIT: I made a shortcut with the target being "path\keyspersecond.exe" "path\kpsconfig.kpsconf2" and that worked great 👌
Topic Starter
Roan

nobully wrote:

Oh okay, I totally didn't think of a bat file, thanks! Though what I had in mind was the program does this for you, you just tell it which config to load automatically if you choose to. Just something I thought of :)

EDIT: I made a shortcut with the target being "path\keyspersecond.exe" "path\kpsconfig.kpsconf2" and that worked great 👌
Yeah I've had that idea for a while as well. The problem being where do I store the data? Since I export as a single executable which causes there to be no installation process, the program does not really have a folder of it's own to store anything in. The program runs on Windows, Linux and OSX. So I'd need something for all of them. I actually might have found a method that works for this. I'll see if I can get it to work.

For now the bat file seems like the way to go though :)
Thanks for the suggestion ;)

Edit
There actually seems to be a JDK bug that has to be solved before I can implement this... I'll keep a look at the bug status but for the time being passing the config to the executable is the way to go. Unless I come up with some other idea :|

Edit 2

Version 7.2

This release mainly focusses on fixing small bugs, most of which were in the key-modifier tracking.

- Fix modifier keys not being highlighted when key-modifier tracking is on.
- Fix modifier keys releasing every other key when key-modifier tracking is on.
- Fix the key-modifier check box not being toggled when loading a config.
- Fix all known cases of key-modifier tracking weirdness.
- Rework key-modifier tracking internally to be more efficient.
- Lots of internal optimizations.
- Better color support for unfilled grids (empty tiles are now either the background color or transparent depending on whether transparency is enabled).
- Fix several minor bugs in the right click menu.
--0
thx for great tool :D
Topic Starter
Roan

breazingstar wrote:

thx for great tool :D
You're welcome :)
ReTLoM
ok i try to use this for Mania 7k
here my concern:
https://cdn.discordapp.com/attachments/ ... nknown.png
but i want it more like
https://cdn.discordapp.com/attachments/ ... nknown.png
is there a way to accomplish this ?
Topic Starter
Roan

ReTLoM wrote:

ok i try to use this for Mania 7k
here my concern:
https://cdn.discordapp.com/attachments/ ... nknown.png
but i want it more like
https://cdn.discordapp.com/attachments/ ... nknown.png
is there a way to accomplish this ?
I'm sorry there is currently no way to do this :( . The closest you can get right now would be to run two instances of the program, one for the graph+stats and one for the keys. I may look into making the layout options even more flexible though, but I currently don't have the time available to me that would be required to do so. I'll put it on my todo list though so there's a good chance that layout options will expand in future releases ;) .
Sonzai no muda
i will take note
Topic Starter
Roan

Sonzai no muda wrote:

i will take
Thanks :)
ob7
I know this is an old thread, but really nice program, looks nice on stream too, good job!
Topic Starter
Roan

ob7 wrote:

I know this is an old thread, but really nice program, looks nice on stream too, good job!
Thanks :)
_ToorU
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.
Topic Starter
Roan

_ToorU wrote:

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

tl;dr I'll edit this once I've had the chance to do some proper testing/debugging.

Edit: Turns out that it is indeed probably some operating system optimalisation. I could reproduce this if I disabled all but 1 monitor and had osu! running in full screen mode. Funnily enough having an extra monitor connected makes it so that it always works even if KeysPerSecond is on the monitor with osu! running on it. Unfortunately this also means that there is nothing I can do to fix this. Though it's possible that there is some setting somewhere in Windows that would (but I couldn't find any information about that). Thus the only fix I could find was to connect some extra monitor (using a mobile phone/tablet as an extra monitor should work too). I'm sorry, I'm afraid that this is beyond my control.

tl;dr Windows made it so that if a program is in full screen other programs do not get updated.
CrescendoFuri
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.
Topic Starter
Roan

SuiGeneris wrote:

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.
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 ^^

My time is really limited lately though so that's why updates are slow right now :( I have some time right now though so if it's an easy fix you can expect a fix later tonight ;) .
CrescendoFuri
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 :D

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
Topic Starter
Roan

SuiGeneris wrote:

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 :D
So I fixed this one by using a different set of arrow symbols :) ⯅⯆⯇⯈
Also thank you for using KeysPerSecond :)

SuiGeneris wrote:

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
That sounds interesting xD I have no idea why this would happen though and I can't seem to reproduce it either :( closing KeysPerSecond while OBS is window capturing it doesn't have any side effects for me :/

Version 7.3

- Arrow keys now look more consistent.
CrescendoFuri
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.
Topic Starter
Roan

SuiGeneris wrote:

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.
Nonetheless a very weird issue xD
I did manage to get OBS to display an other Java program. But even with 10 KeysPerSecond instances open I couldn't get it to do any weird things. But I guess you're right and it's just OBS doing OBS things ¯\_(ツ)_/¯
CrescendoFuri
Huh..weird, I went into it and remade my arrow key bindings...and well, here's the thing.

For some reason they're boxes now :( I 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 downloaded from the standard window exe not java's download if that helps. I really like this program so that's why I wanna let you know the issues about it.
Topic Starter
Roan

SuiGeneris wrote:

Huh..weird, I went into it and remade my arrow key bindings...and well, here's the thing.

For some reason they're boxes now :( I 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 downloaded from the standard window exe not java's download if that helps. I really like this program so that's why I wanna let you know the issues about it.
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 verify the executable and it works fine for me. Actually, if I save the configuration and load it again the symbols are gone .-.

In any case, until I find a more permanent solution for this you can simply edit your configuration file with notepad, go to the #Keys section and change the name="key name here" part to something that works for you.
CrescendoFuri
Alright! Thanks though.
Topic Starter
Roan

SuiGeneris wrote:

Alright! Thanks though.
Alright, second attempt :)
I managed to find yet another set of arrow symbols, but this set should be supported a lot more.

And while I was at it I also manged to find and fix a few other bugs.

In any case let me know if this fixes the issue for you :)

And thank you for the bug reports ^^

Version 7.4

- Add the GitHub link to the initialisation dialog.
- Fix the configuration file not supporting UTF-8 characters.
- Fix position saving only working when the graph is displayed in its own window.
- Change the arrow key symbols to unicode symbols with better availability.

Version 8.0

This is a major release that completely changes the layout system of the program.
You are now able to design basically any layout of the panels as long as it aligns to the grid of the program.

Note however that because of this the old configuration format does not load completely anymore!
If you never changed any of the layout settings your configuration will load just fine, however if you made
changes to the layout chances are that it won't look exactly the same in this version (though since more is possible now you can fix your layout to look the same again).

Example of what you can do now:


Changes:
- Grid based layout editor that shows layout changes in real time (if opened from the right click menu) and that allows custom panel sizes
- Rendering modes can now be set on a per key basis
- Overall improved performance
- Removed the size setting

P.S. Since the layout systems is completely new I expect there to be at least a few bugs that slipped past my testing.
techn1c
thx you!!!!!!
Topic Starter
Roan

Technic360xbox wrote:

thx you!!!!!!

You're welcome, glad you like the program :D
rhyrhy
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?
Topic Starter
Roan

rhyrhy wrote:

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?

This is actually not trivial sadly. Overlay mode for KeysPerSecond just forces it to be the top window. However most of these games run in full screen mode, which is kind of special in that there can only be one such window at the same time. Most overlays you see that actually do manage to run on top of games like this don't actually run on top, but rather inject custom code into the game's render to accomplish this.

The easiest work around is therefore to just not run the game in full screen mode so that other programs are still allowed on top of it (if that's an option, windowed/borderless mode).

Implementing code injection into running games to accomplish an overlay anyway while strictly speaking possible is still rather difficult to do. In addition there are also other considerations, since you're modifying the game's render you're also directly affecting the performance of the game and if done incorrectly might even cause crashes. Besides this, the anti-cheat logic for competitive games often flags actions like this as using cheats (except for some popular white listed applications, TeamSpeak, etc).

I've looked into this before and whether or not to try add support. I might work on it some time if I have a lot of free time, but either way the option would come with a fair warning if I ever finish it.

I apologize for the long reply that was probably not what you were hoping for, but I wanted to explain the whole situation ^_^'
TTG_DRAGON
How Do i start it up on mac i cant get it to work
Topic Starter
Roan

TTG_DRAGON wrote:

How Do i start it up on mac i cant get it to work

Hmm, as far as I know it should just be a matter of starting the jar file. Though I do not personally own a mac at this time. It might also be the case that you have to mark the jar as executable first. Do you get the idea that it starts and chrashes or just does not start at all? Could you try running it using a terminal using 'java -jar KeysPerSecond-v8.2.jar' and see if that reports any more useful debug information? It could also be the case that there's an issue related to newer macOS versions in which case I might have to look into that. I assume that you are also running an up-to-date version of Java 8+.
Balu924
Heyy, how can i set it up?
Topic Starter
Roan

Balu924 wrote:

Heyy, how can i set it up?
Hey, there's no real setup required to use the program. You only need to download 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.
PoustouFlan
Can we have our KPS during a replay ?
nobully

Kelk1 wrote:

Can we have our KPS during a replay ?
use obs and capture osu and the kps window at the same time
Topic Starter
Roan

Kelk1 wrote:

Can we have our KPS during a replay ?
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.
- Isla -
that looks really cool! Will 100% try it out.
Topic Starter
Roan

FutabaLovesYou wrote:

that looks really cool! Will 100% try it out.
Thanks :)
KenZ
request feature auto load config + stats upon start program like uhh .ini file or something ty <3
Topic Starter
Roan

KenZ wrote:

request feature auto load config + stats upon start program like uhh .ini file or something ty <3
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...

However, it is currently possible to automatically start KeysPerSecond with a configuration file from the command line. To do this you would have to make a '.bat' file containing 'C:\path\to\KeysPerSecond-v8.2.exe "C:\path\to\config.kpsconf3"' (then you can start KeysPerSecond by running the '.bat' file). Or you can just drag drop the configuration file on the exe, I think it should also be possible to set KeysPerSecond as the default program to open '.kpsconf3' files (provided that you don't move the exe afterwards).

Some more user friendly way of doing this will be added in the future when I'm able to do so.
Rantte
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
Topic Starter
Roan

RayStar wrote:

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

Sorry for not having a more conclusive answer, the feature is on my todo list and since it's a fairly popular request I may still get to it at some point >_>
oPqrtial_
its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
Topic Starter
Roan

Insid3 wrote:

its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
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/7391965

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.
oPqrtial_

Roan wrote:

Insid3 wrote:

its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
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/7391965

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.
thank you :) its really a amazing kps counter
Topic Starter
Roan

Insid3 wrote:

Roan wrote:

Insid3 wrote:

its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
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/7391965

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.
thank you :) its really a amazing kps counter
Thanks :)
oPqrtial_

Roan wrote:

Insid3 wrote:

Roan wrote:

Insid3 wrote:

its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
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/7391965

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.
thank you :) its really a amazing kps counter
Thanks :)
np :) i wish the best of luck with you in osu and your programs :)
Topic Starter
Roan

Insid3 wrote:

Roan wrote:

Insid3 wrote:

Roan wrote:

Insid3 wrote:

its great! but thers a problem. i cant place it on top of osu. i have no idea why tho ;-;
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/7391965

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.
thank you :) its really a amazing kps counter
Thanks :)
np :) i wish the best of luck with you in osu and your programs :)
Thank you :)
strykeer25
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.
Topic Starter
Roan

strykeer25 wrote:

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.
At the moment there is no support 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 support 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.

For a more detailed explanation see this community/forums/topics/552405?start=7636887 reply and this community/forums/topics/552405?start=7391965 reply.
Ryume
It seems you have put a lot of work into this. Im glad
Topic Starter
Roan

N o v a wrote:

It seems you have put a lot of work into this. Im glad
Thanks :D By now I've spent hundreds of hours on this program, but I'm really happy with the result and all the feedback ^_^
LoPlomo
Is there a way to remove the key "label"? thanks for all the work ^^
Topic Starter
Roan

LoPlomo wrote:

Is there a way to remove the key "label"? thanks for all the work ^^
Not sure if I completely understood the question, but if by key label you mean the display text of a panel, 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 panel 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.
sillypilly
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
Topic Starter
Roan

sillypilly wrote:

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
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.
playerrobeats3
this is closing on robeats and osu - max
Topic Starter
Roan

playerrobeats3 wrote:

this is closing on robeats and osu - max
I don't quite understand what you mean :(
Arstz
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 support it.
Topic Starter
Roan

Arstz wrote:

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 support it.
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.

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/7391965 and community/forums/posts/7636887 and community/forums/posts/7749276
Arstz

Roan wrote:

Arstz wrote:

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 support it.
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.

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/7391965 and community/forums/posts/7636887 and community/forums/posts/7749276
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.
Topic Starter
Roan

Arstz wrote:

Roan wrote:

Arstz wrote:

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 support it.
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.

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/7391965 and community/forums/posts/7636887 and community/forums/posts/7749276
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.
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

Roan wrote:

Arstz wrote:

Roan wrote:

Arstz wrote:

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 support it.
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.

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/7391965 and community/forums/posts/7636887 and community/forums/posts/7749276
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.
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.
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, まかせる。

-->https://easyhook.github.io/<-- Link
Topic Starter
Roan

Arstz wrote:

Roan wrote:

Arstz wrote:

Roan wrote:

Arstz wrote:

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 support it.
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.

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/7391965 and community/forums/posts/7636887 and community/forums/posts/7749276
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.
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.
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, まかせる。

-->https://easyhook.github.io/<-- Link
ありがとう, 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.
Synthix-
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?
Topic Starter
Roan

Synth_ixz wrote:

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?
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.
nobully

Synth_ixz wrote:

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.

Also, the way I load my configs is by making a shortcut to the program, and adding the config file's path to the shortcut's target path.

An example would be C:\path\to\program\KeysPerSecond-vX.exe "C:\path\to\config\config.kpsconfig"

It has to be in quotation marks for the config otherwise it might not work.
DEST-1
Thank You !! :D why not include this option in the game: O
show more
Please sign in to reply.

New reply

/