mulaRahul / keyviz

Keyviz is a free and open-source tool to visualize your keystrokes ⌨️ and 🖱️ mouse actions in real-time.
https://mularahul.github.io/keyviz
GNU General Public License v3.0
5.15k stars 170 forks source link

Blank screen when opening the app on arch linux #256

Open Lucifer516-sudoer opened 2 months ago

Lucifer516-sudoer commented 2 months ago

Description: I downloaded and extracted and opened the keyviz file and when I changed the permissions using chmod +x and ran it it just opened an blank screen without showing key strokes. the hid listener is actually listening for key strokes

Version: v2.0.0-alpha2

To Reproduce Steps to reproduce the behavior:

  1. Download the release on an arch linux ( even VM is okay to use or just WSL on windows )
  2. change the permission to allow execution using chmod +x keyviz
  3. Run from the terminal using, ./keyviz
  4. You most probably will see an blank screen. Expected behavior Expected to operate normally Screenshots image

Desktop (please complete the following information): Information related to my desktop

                  __,,,,,,,_                         lucifer@lucifer-hplaptop15sfq5xxx
            _╓╗╣╫╠╠╠╠╠╠╠╠╠╠╠╠╠╕╗╗┐_                  ---------------------------------
         ╥╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥,               OS: Garuda Linux x86_64
       ╗╠╠╠╠╠╠╠╝╜╜╜╜╝╢╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠┐             Host: HP Laptop 15s-fq5xxx
      ╣╠╠╠╠╠╠╠╠╢╣╢╗╕ , `"╘╠╠╠╠╠╠╠╠╠╠╠╠╠╠╔╥_          Kernel: 6.8.7-zen1-1-zen
    ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╕╙╥╥╜   `"╜╠╬╠╠╠╠╠╠╠╠╠╠╠╥,       Uptime: 30 mins
    ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗╥╥╥╥╗╗╬╠╠╠╠╠╠╠╝╙╠╠╣╠╠╠╠╢┐     Packages: 1716 (pacman)
   ╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╥╬╣╠╠╠╠╠╠╠╠╗    Shell: zsh 5.9
  ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗   Resolution: 1920x1080
  ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠   DE: GNOME 46.0
  ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╬     ```"╜╝╢╠╠╡   WM: Mutter
 ╒╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╣,         ╘╠╪    WM Theme: WhiteSur-Dark
 ╞╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╢┐        ╜     Theme: WhiteSur-Dark [GTK2/3]
 `╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗             Icons: WhiteSur-dark [GTK2/3]
 ,╬╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠"╕            Terminal: WarpTerminal
 ╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╗              CPU: 12th Gen Intel i5-1235U (12) @ 4.400GHz
 ╝^╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╝╣╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╠╡              GPU: Intel Alder Lake-UP3 GT2 [Iris Xe Graphics]
  ╔╜`╞┘╢╛╜ ╡╢╠"╚╠╠╜╝┌╞╞"╢╠╠╠╠╠╠╠╠╠╠╣╩╢╪              Memory: 2276MiB / 7613MiB
     ╜╒"   `╜    `      ╜╙╕  └╣╠╠╠╠╕ ╞╙╖
                                ╠╠╠
                                 ╜

Additional context When i ran the keyviz executable the output was as follows:

➜  keyviz-2.0.02a-linux  ./keyviz 
flutter: [ json:load ]: File: '/home/lucifer/Documents/config.json' not found!
flutter: registered mouse listener
flutter: keyboard listener registered
flutter: [ json:load ]: File: '/home/lucifer/Documents/style.json' not found!
[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: MissingPluginException(No implementation found for method setIgnoreMouseEvents on channel window_manager)
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332)
<asynchronous suspension>
#1      WindowManager.setIgnoreMouseEvents (package:window_manager/src/window_manager.dart:699)
<asynchronous suspension>

[ERROR:flutter/runtime/dart_vm_initializer.cc(41)] Unhandled Exception: MissingPluginException(No implementation found for method setHasShadow on channel window_manager)
#0      MethodChannel._invokeMethod (package:flutter/src/services/platform_channel.dart:332)
<asynchronous suspension>
#1      WindowManager.setHasShadow (package:window_manager/src/window_manager.dart:667)
<asynchronous suspension>

(keyviz:4809): Gtk-CRITICAL **: 14:04:20.813: gtk_widget_get_scale_factor: assertion 'GTK_IS_WIDGET (widget)' failed
[1]    4809 segmentation fault (core dumped)  ./keyviz

well i have been helpless and clueless on the issue for like 3+ days the same issues persisted on the previous alpha release too. So, any help is appreciated

mulaRahul commented 2 months ago

I can see the underlying window manager dependency used by keyviz has no implementations/platform code for linux/arch linux. Will need to further investigate the same.

Lucifer516-sudoer commented 2 months ago

I can see the underlying window manager dependency used by keyviz has no implementations/platform code for linux/arch linux. Will need to further investigate the same.

Thanks a lot @mulaRahul, and a small question out of curiosity.Are you from India?

Lucifer516-sudoer commented 2 months ago

I can see the underlying window manager dependency used by keyviz has no implementations/platform code for linux/arch linux. Will need to further investigate the same.

I see, I am not so good in flutter or anything related to coding, I guess. Just doing small unfinished projects for my personal usecases. I actually read that error message now, it is clearly telling that the Implementation was not found for my platform for the events but, I am not sure why the window manager too wasnt able to have an implementation for my platform. Quite interesting for me. And sorry if i was speaking out any non-sense I am completlely new to this.Thanks a lot.

mulaRahul commented 2 months ago

To be frank linux isn't heavily tested (sometimes not at all) and at that different distros are out of question. I mainly use Windows so have to spin up VMs to test but can't really trust them as things differ a lot. The crucial point is to get the keyviz window overlayed on top of others and its background set to transparent. If the two can't be achieved then it's useless.

I do have plans to at least put out this v2's final version that works everywhere and without bugs. I decided to hold off new features and focus on bugs and platform support but the latest release had to be focused on the multi monitor support due to its heavy demand. It requires a serious dedication both in time and effort and that's why releases are scarce. Would request you to look forward to the same. Also, I'm from India.

Lucifer516-sudoer commented 2 months ago

@mulaRahul,

I understand that Linux has many desktop environments, each utilizing Wayland or other frameworks. Although I'm still a novice when it comes to Linux, I hope that you can resolve the issues with v2 without much difficulty. I'm also willing to offer my help in any way I can, although I'm currently a full-time first-year student, so my responses may be delayed.

Regarding the issue with the window_manager plugin, I noticed that it lacks a working implementation for my distro. However, I saw in their documentation that there are methods available to control properties such as opacity and always-on-top.

I wanted to mention another Linux key visualizer called showmethekey, which displays clicks as a floating screen. Although this may not be directly relevant to our needs, I thought it might provide some insights.

Also, I'm from Tamil Nadu, India. Thank you for your response, and sorry for the lengthy reply.

matytyma commented 2 months ago

To be frank linux isn't heavily tested (sometimes not at all) and at that different distros are out of question. I mainly use Windows so have to spin up VMs to test but can't really trust them as things differ a lot. The crucial point is to get the keyviz window overlayed on top of others and its background set to transparent. If the two can't be achieved then it's useless.

If you're going to need an overlay window, you'll be facing a lot of problems with tiling window managers. I'd suggest you looking into keyloggers because that's the way you can detect it without having to have a fulscreen overlay window. The rest could be done with an overlay layer (https://wmww.github.io/gtk4-layer-shell/, https://wayland-book.com/surfaces-in-depth.html, https://wayland.app/protocols/wlr-layer-shell-unstable-v1). Layers also wouldn't be that affected by eyecandy users might have configured, like border colors, transparency and blur. Willing to help and also bring the Hyprland community here :smile:

Keyloggers to check:

matytyma commented 2 months ago

Also, if you'd be willing to publish to Flathub, it would be really nice