hawck icon indicating copy to clipboard operation
hawck copied to clipboard

Install issues on Ubuntu 21.04

Open chrisk314 opened this issue 3 years ago • 23 comments

Hi there, I have encountered an issue with Lua dependencies whilst following the installation and testing steps in the README on an Ubuntu 21.04 system.

Below are the commands executed

cd /usr/local/src
git clone --recurse-submodules -j8 https://github.com/snyball/Hawck.git
cd Hawck
pkexec xargs apt -y install < bin/dependencies/debian-deps.txt
./install.sh

At this point installation appears to be successful: I can run hawck-add with no arguments which displays the usage message. Now I attempt to follow the testing instructions as below

sudo setfacl -m 'g:uinput:rw' /dev/uinput
sudo systemctl start hawck-inputd
hawck-macrod
vim ~/.config/hawck/scripts/example.hwk
hawck-add ~/.config/hawck/scripts/example.hwk

When executing the hawck-add command above I get the following error

$ hawck-add ~/.config/hawck/scripts/example.hwk
lua5.3: module 'init' not found:
        no field package.preload['init']
        no file '/usr/local/share/lua/5.3/init.lua'
        no file '/usr/local/share/lua/5.3/init/init.lua'
        no file '/usr/local/lib/lua/5.3/init.lua'
        no file '/usr/local/lib/lua/5.3/init/init.lua'
        no file '/usr/share/lua/5.3/init.lua'
        no file '/usr/share/lua/5.3/init/init.lua'
        no file './init.lua'
        no file './init/init.lua'
        no file '/usr/local/lib/lua/5.3/init.so'
        no file '/usr/lib/x86_64-linux-gnu/lua/5.3/init.so'
        no file '/usr/lib/lua/5.3/init.so'
        no file '/usr/local/lib/lua/5.3/loadall.so'
        no file './init.so'
stack traceback:
        [C]: in function 'require'
        [C]: in ?

Lua is new to me. I attempted to find a solution to this error by searching google but didn't see anything helpful. I instaled luarocks and attempted to install the missing init module; however, no such module exists.

Perhaps I've made a mistake which is obvious to someone more versed in Lua. Any assistance with getting hawck running on Ubuntu 21.04 would be much appreciated. I'm hoping it can replace AutoHotkey in Wayland on Ubuntu 21.04.

chrisk314 avatar Apr 26 '21 10:04 chrisk314

So have I. removing "-l init" from hawck-add kind of fixes it, but then runs into another issue with broken symlinks and trying to find lua.lua in "~/.local/share/hawck/scripts/<SCRIPT.lua>/" treating it as if it were a directory. something must've broken pretty badly. This is on 20.04 btw.

newperson1746 avatar Apr 26 '21 17:04 newperson1746

Can i get a tree .local/share/hawck?

snyball avatar Apr 26 '21 17:04 snyball

Fyi I was facing too many issues with 21.04 which were interupting work so I rolled back to 20.04. I have gone through the installation steps on 20.04 and still hit the same problem. Here's the output from tree.

$ tree ~/.local/share/hawck/
/home/csk/.local/share/hawck/
├── cfg.lua
├── logs
│   └── macrod.log
├── scripts
│   ├── example.hwk
│   ├── example.lua
│   ├── init.lua -> /usr/share/hawck/LLib/init.lua
│   ├── keymaps -> /usr/share/hawck/keymaps
│   └── LLib -> /usr/share/hawck/LLib
└── scripts-enabled

3 directories, 7 files

So it looks like these links are not correct. The links point to /usr/share/hawck but that directory does not exist on my system.

chrisk314 avatar Apr 26 '21 18:04 chrisk314

This sounds like an issue with the meson install.

It might be in/usr/local, or you could do find / -name hawck -type d to see where the meson install put the files, then you can fix the symlinks.

snyball avatar Apr 26 '21 18:04 snyball

I am also experiencing this issue on 21.04, heres my tree .local/share/hawck

.local/share/hawck/
├── cfg.lua
├── logs
│   └── macrod.log
├── scripts
│   ├── example.hwk
│   ├── example.lua
│   ├── init.lua -> /usr/share/hawck/LLib/init.lua
│   ├── keymaps -> /usr/share/hawck/keymaps
│   └── LLib -> /usr/share/hawck/LLib
└── scripts-enabled

tannerlegvold avatar Sep 04 '21 18:09 tannerlegvold

Hi, I am also experiencing this issue. my tree looks just like @tannerlegvold above.

I should mention that I am on Zorin OS which is based on Ubuntu.

tony1661 avatar Sep 07 '21 01:09 tony1661

@tony1661 @tannerlegvold Try running this snippet from a clean hawck repo clone (remember to use --recurse-submodules):

    mkdir build
    cd build
    meson ..
    meson configure -Dprefix=/usr
    meson configure -Dcpp_args=-O2
    ninja -j$(nproc)
    mkdir dest
    DESTDIR="$(realpath ./dest)" ninja install

Then package up the dest directory in a .tar file and post it here.

Alternatively, if the destdir works correctly you can try simply setting DESTDIR=/usr. I think the issue here is the lack of configure -Dprefix=/usr in the install.sh script.

snyball avatar Sep 08 '21 02:09 snyball

Hi @snyball . Thanks for your response.

Tar file: dest.tar.gz

Here is what I did:**

$ git clone --recurse-submodules -j8 https://github.com/snyball/Hawck.git

Cloning into 'Hawck'... remote: Enumerating objects: 2315, done. remote: Counting objects: 100% (147/147), done. remote: Compressing objects: 100% (106/106), done. remote: Total 2315 (delta 74), reused 84 (delta 38), pack-reused 2168 Receiving objects: 100% (2315/2315), 9.79 MiB | 7.06 MiB/s, done. Resolving deltas: 100% (1594/1594), done. Submodule 'bin/hawck-git' (https://aur.archlinux.org/hawck-git.git) registered for path 'bin/hawck-git' Cloning into '/home/tfernandez/Documents/Hawck/bin/hawck-git'... remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 41 (delta 2), reused 41 (delta 2), pack-reused 0
Submodule path 'bin/hawck-git': checked out '62eb777e723b063557cc10f71bfc1f117b4289e1'

$ cd Hawck/

$ mkdir build

$ cd build

$ meson ..

The Meson build system Version: 0.53.2 Source dir: /home/tfernandez/Documents/Hawck Build dir: /home/tfernandez/Documents/Hawck/build Build type: native build Project name: Hawck Project version: 0.7.1 C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C linker for the host machine: cc ld.bfd 2.34 C++ compiler for the host machine: c++ (gcc 9.3.0 "c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C++ linker for the host machine: c++ ld.bfd 2.34 Host machine cpu family: x86_64 Host machine cpu: x86_64 Found pkg-config: /usr/bin/pkg-config (0.29.1) Did not find CMake 'cmake' Found CMake: NO Run-time dependency lua found: NO (tried pkgconfig and cmake) Run-time dependency lua5.3 found: YES 5.3.3 Run-time dependency threads found: YES Run-time dependency libnotify found: YES 0.7.9 Configuring hawck_config.h using configuration Run-time dependency catch2 found: NO (tried pkgconfig and cmake) Message: Downloading Catch2 header file ... Configuring hawck-inputd.service using configuration Configuring hawck-macrod.service using configuration Configuring hawck-user-setup.sh using configuration Configuring hawck-install.sh using configuration Program /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh found: YES (/bin/bash /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh) Build targets in project: 3

Hawck 0.7.1

Configuration redirect_std: no use_meson_install: no development_build: no with_systemd: yes

Installation paths prefix: /usr/local hawck_share_dir: /usr/local/share hawck_cfg_dir: /etc modules_load_dir: /etc/modules-load.d udev_rules_dir: /etc/udev/rules.d

Found ninja-1.10.0 at /usr/bin/ninja

$ meson configure -Dprefix=/usr

$ meson configure -Dcpp_args=-O2

$ ninja -j$(nproc)

[0/1] Regenerating build files. The Meson build system Version: 0.53.2 Source dir: /home/tfernandez/Documents/Hawck Build dir: /home/tfernandez/Documents/Hawck/build Build type: native build Project name: Hawck Project version: 0.7.1 C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C linker for the host machine: cc ld.bfd 2.34 C++ compiler for the host machine: c++ (gcc 9.3.0 "c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C++ linker for the host machine: c++ ld.bfd 2.34 Host machine cpu family: x86_64 Host machine cpu: x86_64 Found pkg-config: /usr/bin/pkg-config (0.29.1) Did not find CMake 'cmake' Found CMake: NO Run-time dependency lua found: NO (tried pkgconfig and cmake) Dependency lua5.3 found: YES 5.3.3 (cached) Dependency threads found: YES unknown (cached) Dependency libnotify found: YES 0.7.9 (cached) Configuring hawck_config.h using configuration Run-time dependency catch2 found: NO (tried pkgconfig and cmake) Message: Downloading Catch2 header file ... Configuring hawck-inputd.service using configuration Configuring hawck-macrod.service using configuration Configuring hawck-user-setup.sh using configuration Configuring hawck-install.sh using configuration Program /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh found: YES (/bin/bash /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh) Build targets in project: 3

Hawck 0.7.1

Configuration redirect_std: no use_meson_install: no development_build: no with_systemd: yes

Installation paths prefix: /usr hawck_share_dir: /usr/share hawck_cfg_dir: /etc modules_load_dir: /etc/modules-load.d udev_rules_dir: /etc/udev/rules.d

Found ninja-1.10.0 at /usr/bin/ninja [0/39] Compiling C++ object 'src/25a6634@@hawck-macrod@exe/FIFOWatcher.cpp.o'.mk[5/39] Compiling C++ object 'src/25a6634@@hawck-macrod@exe/RemoteUDevice.cpp.o'.[22/39] Compiling C++ object 'tests/59...awck-tests@exe/FSWatcher-tests.cpp.o'. ../tests/FSWatcher-tests.cpp: In function ‘std::vector<std::__cxx11::basic_string > mkTestFiles(int, bool)’: ../tests/FSWatcher-tests.cpp:79:11: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Wunused-result] 79 | system("rm -r /tmp/hwk-tests"); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ [39/39] Linking target tests/hawck-tests.

$ mkdir dest

$ DESTDIR="$(realpath ./dest)" ninja install

[0/1] Installing files. Installing src/hawck-macrod to /home/tfernandez/Documents/Hawck/build/dest/usr/bin Installing src/hawck-inputd to /home/tfernandez/Documents/Hawck/build/dest/usr/bin Installing /home/tfernandez/Documents/Hawck/docs/hawck-inputd.1 to /home/tfernandez/Documents/Hawck/build/dest/usr/share/man/man1 Installing /home/tfernandez/Documents/Hawck/docs/hawck-macrod.1 to /home/tfernandez/Documents/Hawck/build/dest/usr/share/man/man1 Installing /home/tfernandez/Documents/Hawck/build/bin/hawck-inputd.service to /home/tfernandez/Documents/Hawck/build/dest/usr/lib/systemd/system Installing /home/tfernandez/Documents/Hawck/build/bin/hawck-macrod.service to /home/tfernandez/Documents/Hawck/build/dest/usr/lib/systemd/user Running custom install script '/bin/bash /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh'

$ hawck-add ~/.local/share/hawck/scripts/example.hwk

lua5.3: module 'init' not found: no field package.preload['init'] no file '/usr/local/share/lua/5.3/init.lua' no file '/usr/local/share/lua/5.3/init/init.lua' no file '/usr/local/lib/lua/5.3/init.lua' no file '/usr/local/lib/lua/5.3/init/init.lua' no file '/usr/share/lua/5.3/init.lua' no file '/usr/share/lua/5.3/init/init.lua' no file './init.lua' no file './init/init.lua' no file '/usr/local/lib/lua/5.3/init.so' no file '/usr/lib/x86_64-linux-gnu/lua/5.3/init.so' no file '/usr/lib/lua/5.3/init.so' no file '/usr/local/lib/lua/5.3/loadall.so' no file './init.so' stack traceback: [C]: in function 'require' [C]: in ?

tony1661 avatar Sep 08 '21 03:09 tony1661

@tony1661 ok, that looks like it's working as intended.

Now, create a new fresh repo clone of Hawck, and modify the install.sh script to include the following right after the meson .. line: [1]

meson configure -Dprefix=/usr
meson configure -Dcpp_args=-O2

If you can confirm that that fixes the issue for you on Ubuntu 21.04 then I can push those modifications to the master branch.

Also, post your edited version of install.sh when reporting whether or not it worked.

EDIT[1]: specifically, right after line 24

snyball avatar Sep 08 '21 05:09 snyball

@snyball it seems I am able to load the script however the hot keys still do not work.

Below is what I did:

$ sudo rm -rf Hawck/ [sudo] password for tfernandez:

$ git clone --recurse-submodules -j8 https://github.com/snyball/Hawck.git

Cloning into 'Hawck'... remote: Enumerating objects: 2315, done. remote: Counting objects: 100% (147/147), done. remote: Compressing objects: 100% (106/106), done. remote: Total 2315 (delta 74), reused 84 (delta 38), pack-reused 2168 Receiving objects: 100% (2315/2315), 9.79 MiB | 7.29 MiB/s, done. Resolving deltas: 100% (1594/1594), done. Submodule 'bin/hawck-git' (https://aur.archlinux.org/hawck-git.git) registered for path 'bin/hawck-git' Cloning into '/home/tfernandez/Documents/Hawck/bin/hawck-git'... remote: Enumerating objects: 41, done.
remote: Counting objects: 100% (41/41), done.
remote: Compressing objects: 100% (39/39), done.
remote: Total 41 (delta 2), reused 41 (delta 2), pack-reused 0
Submodule path 'bin/hawck-git': checked out '62eb777e723b063557cc10f71bfc1f117b4289e1'

$ cd Hawck/

$ nano install.sh

ushd build meson .. || exit 1 +++meson configure -Dprefix=/usr +++meson configure -Dcpp_args=-O2 ninja || exit 1

install.zip

$ pkexec xargs apt -y install < bin/dependencies/debian-deps.txt

Reading package lists... Done Building dependency tree
Reading state information... Done g++ is already the newest version (4:9.3.0-1ubuntu2). gawk is already the newest version (1:5.0.1+dfsg-1). gcc is already the newest version (4:9.3.0-1ubuntu2). gzip is already the newest version (1.10-0ubuntu4). liblua5.3-dev is already the newest version (5.3.3-1.1ubuntu2). libnotify-dev is already the newest version (0.7.9-1ubuntu2). pkg-config is already the newest version (0.29.1-0ubuntu4). python3 is already the newest version (3.8.2-0ubuntu2). python3-setuptools is already the newest version (45.2.0-1). wget is already the newest version (1.20.3-1ubuntu1). zenity is already the newest version (3.32.0-5). console-data is already the newest version (2:1.12-8). doxygen is already the newest version (1.8.17-0ubuntu2). libgtksourceview-3.0-dev is already the newest version (3.24.11-2). lua5.3 is already the newest version (5.3.3-1.1ubuntu2). meson is already the newest version (0.53.2-2ubuntu2). python3-dill is already the newest version (0.3.1.1-1). libgtk-3-dev is already the newest version (3.24.20-0ubuntu1). python3-pip is already the newest version (20.0.2-5ubuntu1.6). The following packages were automatically installed and are no longer required: libpython2-stdlib:i386 libpython2.7-minimal:i386 libpython2.7-stdlib:i386 libreadline8:i386 libssl1.1:i386 Use 'apt autoremove' to remove them. 0 upgraded, 0 newly installed, 0 to remove and 7 not upgraded.

$ ./install.sh

~/Documents/Hawck/build ~/Documents/Hawck The Meson build system Version: 0.53.2 Source dir: /home/tfernandez/Documents/Hawck Build dir: /home/tfernandez/Documents/Hawck/build Build type: native build Project name: Hawck Project version: 0.7.1 C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C linker for the host machine: cc ld.bfd 2.34 C++ compiler for the host machine: c++ (gcc 9.3.0 "c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C++ linker for the host machine: c++ ld.bfd 2.34 Host machine cpu family: x86_64 Host machine cpu: x86_64 Found pkg-config: /usr/bin/pkg-config (0.29.1) Did not find CMake 'cmake' Found CMake: NO Run-time dependency lua found: NO (tried pkgconfig and cmake) Run-time dependency lua5.3 found: YES 5.3.3 Run-time dependency threads found: YES Run-time dependency libnotify found: YES 0.7.9 Configuring hawck_config.h using configuration Run-time dependency catch2 found: NO (tried pkgconfig and cmake) Message: Downloading Catch2 header file ... Configuring hawck-inputd.service using configuration Configuring hawck-macrod.service using configuration Configuring hawck-user-setup.sh using configuration Configuring hawck-install.sh using configuration Program /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh found: YES (/bin/bash /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh) Build targets in project: 3

Hawck 0.7.1

Configuration redirect_std: no use_meson_install: no development_build: no with_systemd: yes

Installation paths prefix: /usr/local hawck_share_dir: /usr/local/share hawck_cfg_dir: /etc modules_load_dir: /etc/modules-load.d udev_rules_dir: /etc/udev/rules.d

Found ninja-1.10.0 at /usr/bin/ninja [0/1] Regenerating build files. The Meson build system Version: 0.53.2 Source dir: /home/tfernandez/Documents/Hawck Build dir: /home/tfernandez/Documents/Hawck/build Build type: native build Project name: Hawck Project version: 0.7.1 C compiler for the host machine: cc (gcc 9.3.0 "cc (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C linker for the host machine: cc ld.bfd 2.34 C++ compiler for the host machine: c++ (gcc 9.3.0 "c++ (Ubuntu 9.3.0-17ubuntu1~20.04) 9.3.0") C++ linker for the host machine: c++ ld.bfd 2.34 Host machine cpu family: x86_64 Host machine cpu: x86_64 Found pkg-config: /usr/bin/pkg-config (0.29.1) Did not find CMake 'cmake' Found CMake: NO Run-time dependency lua found: NO (tried pkgconfig and cmake) Dependency lua5.3 found: YES 5.3.3 (cached) Dependency threads found: YES unknown (cached) Dependency libnotify found: YES 0.7.9 (cached) Configuring hawck_config.h using configuration Run-time dependency catch2 found: NO (tried pkgconfig and cmake) Message: Downloading Catch2 header file ... Configuring hawck-inputd.service using configuration Configuring hawck-macrod.service using configuration Configuring hawck-user-setup.sh using configuration Configuring hawck-install.sh using configuration Program /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh found: YES (/bin/bash /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh) Build targets in project: 3

Hawck 0.7.1

Configuration redirect_std: no use_meson_install: no development_build: no with_systemd: yes

Installation paths prefix: /usr hawck_share_dir: /usr/share hawck_cfg_dir: /etc modules_load_dir: /etc/modules-load.d udev_rules_dir: /etc/udev/rules.d

Found ninja-1.10.0 at /usr/bin/ninja [23/39] Compiling C++ object 'tests/59...awck-tests@exe/FSWatcher-tests.cpp.o'. ../tests/FSWatcher-tests.cpp: In function ‘std::vector<std::__cxx11::basic_string > mkTestFiles(int, bool)’: ../tests/FSWatcher-tests.cpp:79:11: warning: ignoring return value of ‘int system(const char*)’, declared with attribute warn_unused_result [-Wunused-result] 79 | system("rm -r /tmp/hwk-tests"); | ~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~ [39/39] Linking target tests/hawck-tests. [0/1] Installing files. Installing src/hawck-macrod to /usr/bin Installing src/hawck-inputd to /usr/bin Installing /home/tfernandez/Documents/Hawck/docs/hawck-inputd.1 to /usr/share/man/man1 Installing /home/tfernandez/Documents/Hawck/docs/hawck-macrod.1 to /usr/share/man/man1 Installing /home/tfernandez/Documents/Hawck/build/bin/hawck-inputd.service to /usr/lib/systemd/system Installing /home/tfernandez/Documents/Hawck/build/bin/hawck-macrod.service to /usr/lib/systemd/user Running custom install script '/bin/bash /home/tfernandez/Documents/Hawck/build/bin/hawck-install.sh' useradd: user 'hawck-input' already exists usermod: no changes groupadd: group 'hawck-input-share' already exists groupadd: group 'uinput' already exists chsh: Warning: /bin/nologin does not exist Installed, now run /usr/share/hawck/bin/hawck-user-setup ~/Documents/Hawck hawck-input-share Done.

$ hawck-add ~/.local/share/hawck/scripts/example.hwk New keys added, require authentication for whitelisting them ...

Ctrl + Alt + h Still doesnt seem to work

tony1661 avatar Sep 08 '21 14:09 tony1661

@tony1661 Did you reboot after running hawck-user-setup, and do you have bothhawck-inputd and hawck-macrod running?

snyball avatar Sep 08 '21 15:09 snyball

@snyball I did not reboot or run that command. I didn't actually know about that command or that it needs to be run. I'll try that out soon as I can reboot :D

tony1661 avatar Sep 08 '21 16:09 tony1661

@snyball Ok so I rebooted my machine and did the following:

$ hawck-user-setup hawck-user-setup: command not found

$ hawck-inputd Starting Hawck InputD v0.7.1 on:

  • </dev/input/event3> forking ...

$ hawck-macrod hawck-macrod v0.7.1 forking ...

$ hawck-add ~/.local/share/hawck/scripts/example.hwk

Result It appears to still not work


hopefully I am doing this correctly.

tony1661 avatar Sep 08 '21 19:09 tony1661

Try following the exact recipe from https://github.com/snyball/Hawck#testing-it-out with the script stored in .config/…, not .local/….

Also ensure that your user is a member of the hawck-input-share group by issuing a groups command.

Post all the hawck journalctl logs if neither of those work.

ps: hawck-user-setup.sh is executed by install.sh and is located in this-repo/bin/….

snyball avatar Sep 09 '21 05:09 snyball

@snyball

Still seems to be an issue after entering the commands below. It's weird because I don't even see any errors in the logs. Am I correctly restarting the two services by entering sudo systemctl restart hawck-inputd.service and hawck-macrod ?

Also, I looked at the script hawck-user-setup.sh and it places all files in my .local dir. Is that correct?

Thanks for your help!!

$ groups tfernandez adm cdrom sudo dip plugdev lpadmin sambashare hawck-input-share

$ nano ~/.config/hawck/scripts/example.hwk

-- Pressing C-a should insert the character "b"
down + ctrl + key "a" => insert "b"

shift + alt + key "v" => function ()
  local clip_contents = getClipboard()
  write(clip_contents)() -- Note the extra parens, write() returns a closure
end

$ hawck-add ~/.config/hawck/scripts/example.hwk New keys added, require authentication for whitelisting them ...

$ chmod +x ~/.config/hawck/scripts/example.hwk

$ sudo systemctl restart hawck-inputd.service

$ hawck-macrod hawck-macrod v0.7.1 forking ...

Shift + Alt + v Nothing happens and nothing in the logs either.

$journalctl -u hawck-inputd Sep 09 08:09:10 tony-latitude-5000 systemd[1]: Starting Hawck input daemon... Sep 09 08:09:10 tony-latitude-5000 hawck-inputd[51942]: Starting Hawck InputD v> Sep 09 08:09:10 tony-latitude-5000 hawck-inputd[51942]: - </dev/input/event3> Sep 09 08:09:10 tony-latitude-5000 hawck-inputd[51942]: forking ... Sep 09 08:09:10 tony-latitude-5000 systemd[1]: Started Hawck input daemon. Sep 09 08:09:10 tony-latitude-5000 systemd[1]: hawck-inputd.service: Succeeded.

tony1661 avatar Sep 09 '21 12:09 tony1661

@tony1661 Does pressing Control+a produce a b?

That clipboard snippet will not work unless you also define getClipboard.

Try removing that and just test using the Control+a combination.

Also post the journalctl logs for hawck-macrod.

Ps: when posting long outputs, prefer to put the text inside a <details>...</details> clause, like this:

Hello!

snyball avatar Sep 09 '21 12:09 snyball

@snyball Control+a doesn't seem to work even after removing the clipboard part.

cool, I didnt know about details 😄

$ nano ~/.config/hawck/scripts/example.hwk

-- Pressing C-a should insert the character "b"
down + ctrl + key "a" => insert "b"

$ sudo systemctl restart hawck-inputd.service

$ hawck-macrod hawck-macrod v0.7.1 forking ...

$ journalctl -u hawck-inputd.service

Sep 09 09:04:28 tony-latitude-5000 systemd[1]: Starting Hawck input daemon...

Sep 09 09:04:28 tony-latitude-5000 hawck-inputd[55313]: Starting Hawck InputD v>

Sep 09 09:04:28 tony-latitude-5000 hawck-inputd[55313]: - </dev/input/event3>

Sep 09 09:04:28 tony-latitude-5000 hawck-inputd[55313]: forking ...

Sep 09 09:04:28 tony-latitude-5000 systemd[1]: Started Hawck input daemon.

Sep 09 09:04:28 tony-latitude-5000 systemd[1]: hawck-inputd.service: Succeeded.

$ journalctl -u hawck-macrod.service -- Logs begin at Mon 2021-09-06 16:59:09 EDT, end at Thu 2021-09-09 09:15:22 ED> -- No entries --

$ sudo systemctl status hawck-macrod.service Unit hawck-macrod.service could not be found.

tony1661 avatar Sep 09 '21 13:09 tony1661

@tony1661 Make sure you only have one instance of macrod running at a time, you can use htop and press \ to search.

Also, macrod isn't shipped as a systemd service, but it still logs using syslog which is handed off to systemd-journald. So just grep the output of journalctl (without args) to get those logs.

snyball avatar Sep 09 '21 13:09 snyball

@snyball I verified that when I run the hawck-macro command that there is a new process that starts and the old one is stopped. Only one macrod service runs.

$ ps aux | grep -i macrod tfernan+ 68946 0.0 0.0 243732 8852 ? Sl 10:00 0:00 hawck-macrod tfernan+ 70016 0.0 0.0 18808 676 pts/1 S+ 10:38 0:00 grep --color=auto -i macrod

$ hawck-macrod hawck-macrod v0.7.1 forking ...

$ ps aux | grep -i macrod tfernan+ 70019 1.5 0.0 243740 8480 ? Sl 10:38 0:00 hawck-macrod tfernan+ 70043 0.0 0.0 18808 732 pts/1 S+ 10:38 0:00 grep --color=auto -i macrod

Control+a Nothing happens

$ journalctl | grep macrod

Sep 09 10:38:41 tony-latitude-5000 hawck-macrod[70019]: Killing previous /usr/local/bin/hawck-macrod instance ... Sep 09 10:38:41 tony-latitude-5000 hawck-macrod[70019]: Registered inotify instance 1/128 with fd: 2 Sep 09 10:38:41 tony-latitude-5000 hawck-macrod[70019]: Loaded script: /home/tfernandez/.config/hawck/scripts/example.hwk Sep 09 10:38:41 tony-latitude-5000 hawck-macrod[70019]: Setting up MacroDaemon ... Sep 09 10:38:41 tony-latitude-5000 hawck-macrod[70019]: Listening for a connection ... Sep 09 10:38:41 tony-latitude-5000 hawck-macrod[70019]: Resetting fifo

tony1661 avatar Sep 09 '21 14:09 tony1661

@tony1661 Yeah, it's not getting a connection to inputd, I don't exactly know why though.

I'll try spinning up an Ubuntu 21.04 VM tomorrow to check out what could be going awry. There might be less work to do for the upcoming Ubuntu LTS release if I get it working in the interim.

snyball avatar Sep 09 '21 17:09 snyball

@snyball I am on Zorin OS which is actually Ubuntu 20.04.2 LTS

tony1661 avatar Sep 09 '21 17:09 tony1661

@snyball I'm not sure if it helps but I did find this in the logs:

Sep 09 16:32:11 tony-latitude-5000 hawck-inputd[94596]: SystemError: Unable to open file: Permission denied Sep 09 16:32:33 tony-latitude-5000 hawck-inputd[94613]: SystemError: Unable to open file: Permission denied

tony1661 avatar Sep 09 '21 20:09 tony1661

@snyball any luck amigo? 🙂

tony1661 avatar Sep 13 '21 02:09 tony1661