davejarvis / kmcaster Goto Github PK
View Code? Open in Web Editor NEWCapture keyboard and mouse events for screencasting
License: MIT License
Capture keyboard and mouse events for screencasting
License: MIT License
Hi,
Thanks for your useful tool to succeed Key-Mon.
My system : Ubuntu 20.04 Mate Édition.
I used it on a French Occitan keyboard but when I press the shift key and the A key it's "Q" that is displayed (not "A" as expected). No problem if Shift key is not pressed : when I press A, "a" is displayed.
It seems like the Shift key doesn't consider the french layout defined but the english keyboard layout.
Regards,
Thierry
Users want more control over fonts and graphics, which entails adding a configuration file. A simple properties file can contain:
Note: Setting the key up/key down colours with alpha allows the key labels to be hidden.
Add a command-line option to load a specific configuration file. This will entail changes to the following classes:
Constants.java
,
LABEL_FONT
gets settings itemCOLOUR_KEY_DN
gets settings itemCOLOUR_KEY_UP
gets settings itemSvgRasterizer
-- use getResource
by default, but with an option to use external source, which should not require some minor changes to HardwareImages
; if changes to HardwareImages
are required, some refactoring may be necessaryHardwareImages
-- SWITCH_INSETS
gets settings itemsPaddedInsets
-- INSET_PADDING
gets settings itemsKmCaster
-- the init()
method must use settings for on-screen locationSettings
-- modify to include aforementioned settings items as well as a new configuration item to point to a properties file --- that properties file has additional settings, which are loaded before the settings are applied (i.e., command-line options always override property file settings)TranslucentPanel
-- update constructor to call setBorder(javax.swing.border.Border)
(MarginBorder
?) using settings that define margin between components (hardware images)Add a command-line option to use an SVG file that can customize the background image.
It may be preferable to simply defer to using a properties file to control the application settings (i.e., a theme/skin).
The solution entails:
BackgroundPanel
, which more accurately describes its intent.HardwareImages.java
-- it may be necessary to move createImage()
into SvgRasterizer
so that the method can be reused for loading the background image.resources/images/background/0.svg
-- add a new resources directory and default background image fileresources/images/key/dn/sm-long.svg
-- delete this file because it isn't usedHi there!
I've been looking for an alternative to key-mon, which is unmaintained AFAIK and quite buggy these days.
I love kmcaster. Would you find it interesting to package it for https://flathub.org, so it's available for a wider audience at the length of a click?
Ok, I tried again and alt + F4 does nothing.
I am using a distro of Linux: POP!_OS 20.04LTS and it is based on Ubuntu and is authored by System76.
I am using a System76 Darter Pro 7 laptop. CPU is 11th Gen Intel® Core i7-1165G7, 500 GB NVMe, 32-GB RAM.
Except for not being able to close the application it really is neat and displays every button push and keystroke.
I hope the additional info helps.
this is how the jar file behaves in windows
the ctrl shift alt keys don't work he only displays them in the last key
the letters are sometimes displayed sometimes just ... dotes
the used font is huge (bold and big} )compared to the graphics
for the mouse, I fixed that by modifying the SVG files inside the jar file
hi am alezzacreative am a graphic designer i work with open source software
i changed the the graphics in the app by just replacing the svg files inside the jar and to my surprise it worked
and i have some requests
1 - i dont know but the antialiasing in the borders of the graphics is terrible especially when the background is in lighter colours.
2 - if you can ad an option in the command line to disable the semi transparent background or even better to have also an svg graphic that can be customized as i did with the others.
3 - i tried to replace the font but with no success i was hoping to use a more moden looking font like "inter" https://fonts.google.com/specimen/Inter even better if we can have fonts folders inside the "fonts" directory so we can choose the font from the command line.
4 - if the spacing between the keys can be adjusted
5 - if we can have a mode where not all "shift ctrl alt" key are always displayed but only shown when pressed like the last how key works.
screenshot
a video
http://www.mediafire.com/file/pgcot5ycpux7esz/Screencast_kmcaster.mp4/file
my modified version of the app
http://www.mediafire.com/file/nol90ipz9lxr7rq/kmcaster.jar/file
i have other ideas for other skins if you want just ask me
thank you for this handy app
Hi @DaveJarvis. I fixed #1 and now kmcaster can be installed with 1 click on all Linux distros!
There's a few pending points where I'd like to know your opinion.
Now that that job is done, I think it would be cool to include a badge here upstream, so Linux users can get to the package easily.
According to app submission docs:
We would prefer that these applications are controlled by their authors.
So if you want, I'd be glad to ask Flathub maintainers to donate the package repo to you, or to make you co-maintainer. If you don't, things can stay as they are.
Finally, I had to create some metadata to package your app for Linux desktops. Mainly:
The maintenance guide says:
should be submitted upstream
So, if you agree, I can open a PR to move those files here. I'd ask you in which folder do you prefer them.
I may be blind but I couldnt see how to reduce the overall size of the widget.
Thanks!
Ubuntu 21.04 (hirsute) will soon be available with Wayland as the default graphics manager. I noticed that the program (WHICH IS SIMPLE AMAZING) only displays data when its own "window" is active. Nothing is displayed when using any other program (such as GEdit). Did I do something wrong, or is there really a problem with Wayland graphics support?
Thank you in advance for your help...
I'm typing this on a US keyboard on OSX and as you see on the video it is not showing the right keys.
Awesome piece of software! One missing feature is accenting the mouse pointer (always, or on events, like click). That helps tremendously to bring to attention of the viewer where the mouse actually is when the click happens.
Hi,
thanks for a great app, it works great.
Unfortunately I've not been able to add kmcaster to a obs scene.
Adding a running kmcaster to a scene via "Window Capture (Xcomposite)" results in a blank frame.
For screen-casts using obs this would be very helpful.
Ubuntu 20.04
OBS 27.0.0-rc3
java-14-openjdk-amd64
kmcaster 1.0.3
The recomended [Alt]+[F4] does notwork. I can not find any way to get the dang thing off my screen, and I have two of them on the screen. This is a stupid program as there is no way out.
running on osx and it would make sense ctrl / alt is command / option instead.
In the attached video (demo.zip) the corners of the application buttons appear aliased.
The corners should appear antialiased.
This may be due to the compositing operations performed on the transparent background. See:
I installed in Windows 10. When I click the left mouse button, it correctly shows a left mouse click. When I right-click, it shows a scroll-wheel press. When I press the scroll wheel, it shows a right-click.
This is true for my wireless mouse, my wired mouse, and my press pad.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.