Coder Social home page Coder Social logo

Comments (11)

Destroyer avatar Destroyer commented on May 27, 2024

Let us know what changes you've made in order to make it working so that others will be able to use it without a hassle :)

from naga_keypadmapper.

apocatarsis avatar apocatarsis commented on May 27, 2024

Than you very much for your feedback, we are glad to hear that!
As Destroyer pointed, it would help others if you tell as how you tweak the program!. That way we can call this thread an issue :P

from naga_keypadmapper.

markusmo3 avatar markusmo3 commented on May 27, 2024

Okay then,
Im using Linux Mint 17.2 Rafaela and the stuff i changed was the following

  • Linux Mint doesnt seem to allow the autostart functionality of /root/.config/autostart/ so i put a custom launcher with the "gksu bash /usr/local/bin/nagastart.sh" command in the users autostart (in my case in /home/moe/.config/autostart). I had the problem that now every time the system starts the password needed to be entered, for that i just edited the sudoers file to dont ask for a password in that special case
  • inside the nagastart.sh i edited Line 5 to use my version of the Naga (Molten Edition) instead of Naga Epic (My Line 5 looks like this: sudo naga /dev/input/by-id/usb-Razer_Razer_Naga-if01-event-kbd)

The rest did just work then. The only thing im missing is more information about how the mappings.txt file needs to be written. Like i want Naga Button 1 and 4 to do what could be called "Mouse back and forward". The buttons to move back and forward in the browser basicly. But i have no idea what to write in that case. Some documentation or a link for the newbs like me would be nice C:

from naga_keypadmapper.

Destroyer avatar Destroyer commented on May 27, 2024

Ok thanks for that :)

  1. To address the issue with mint it's kinda hard to do so because every distribution does this differently and I think fixing that issue would make the script even less readable than it is already. But I don't know if the author has a different opinion :)

  2. Ok, that's what we needed. Thanks. Also if you have some time you can try the other branch (testlab) and test out the two other buttons that are on the side of your naga to see if you can get them working. It's a little bit harder because I've moved the code that uses it directly to the c++ file. So you would have to edit that in order to make it working. But you can make the entire naga work now ;)
    e.g. it would look like this

const char * devices[][2] = {
        {"/dev/input/by-id/usb-Razer_Razer_Naga_Epic-if01-event-kbd","/dev/input/by-id/usb-Razer_Razer_Naga_Epic-event-mouse"}, // NAGA EPIC
        {"/dev/input/by-id/usb-Razer_Razer_Naga_2014-if02-event-kbd","/dev/input/by-id/usb-Razer_Razer_Naga_2014-event-mouse"} // NAGA 2014
        {"/dev/input/by-id/usb-Razer_Razer_Naga-if01-event-kbd","secondDevice"} // NAGA MOLTEN
};

....

        else if (strstr(argv[1],"2014"))
            id = 1;
        else if (strstr(argv[1],"molten"))
            id = 2;
        else
        {
            printf("Not valid device. Exiting.\n");
            exit(1);
        }

...and don't forget to edit nagastart.sh ;)

  1. If you know some basic of programming you can easily find out how it's done
    At the moment there're 3 possible commands (2 in the stable version)

key which basically runs xdotool key --window getactivewindow YourShortcut
so if you wanna make it work and you're not sure about the spelling you can just try out this command in your terminal and if it doesn't post an error it'll execute the shortcut. Some people are reffering to files like XF86keysym.h and keysymdef.h (excluding XK_ from the beginning) to be a list of all shortcut keys but there isn't listed everything... maybe someone will find where exactly can all be found.

run just runs the command with C system() function, so it could be everything, app, script (that user can run), whatever ... so if you wanna go extreme you can just use the power of shell and execute the script that way

and with the new version there's a new command chmap which just loads another mapping from that naga folder(if you wanna switch profiles).... so you basically put a filename there and that's it.

And in that case you could use for example BackSpace and Shift+BackSpace(or alt and arrow keys) or the special key but I'm not sure which one is that and this should work fine.
so tl;dr
1 - key=BackSpace
...
4 - key=Shift+BackSpace

from naga_keypadmapper.

apocatarsis avatar apocatarsis commented on May 27, 2024
  1. Well, if you ask me I would just make different scripts (or even an entire new branch) for every new distribution we can get to work to improve readability. Maybe the installer could then look for the current distro and then run a script made for that distro.

  2. Yes, testlab is an improved version of the program made by Destroyer, Sadly I cannot test it on my pc at the moment, that is why it is not in the master. But I will try to somehow store the current master (maybe as a release?) and make testlab the master.

3)I think that when I first wrote the program I saw a list of the available keys in the xdotools documentation, but I cannot find it at the moment. However, as Destroyer mentioned, you can see them at the header http://cgit.freedesktop.org/xorg/proto/x11proto/plain/keysymdef.h.

You can also use this information I found googling:
Use 'xev -event keyboard', unless you want to enter keys that you cannot actually type using your keyboard. In the latter case, use
grep "XK_" /usr/include/X11/keysymdef.h|sed 's/ XK_/ /g' (for most normal keysyms)
or
grep "XK_" /usr/include/X11/XF86keysym.h|sed 's/XK_//g' (for 'multimedia keyboard' keysyms)

P.S. The chmap option is awesome!!

from naga_keypadmapper.

markusmo3 avatar markusmo3 commented on May 27, 2024

To 2)
Works like a charm here, havent tested the chmap feature tho.
Here is the patch for my Naga Molten: (was too lazy to fork and stuffs)
http://paste.linuxmint.com/view/lv7g

As an update to 3)
the keysymdef doesnt contain any "internet" or media related buttons, thats were the back and forward is in. So that doesnt work, but i found out through using 'xev' that those two buttons are actually button 8 and 9. xdotool can emulate them with click instead of key. For now i can write a script and use the "run" functionality, but it would be awesome if this tool can do this natively C:

from naga_keypadmapper.

Destroyer avatar Destroyer commented on May 27, 2024

@apocatarsis

  1. That would be great, but I am not really familiar with packaging and this kind of stuff so that would be up to you. One thing that would be possible to do right now is to detect devices during install and correct nagastart script so that users wouldn't have to set it themselves. (if the device would be listed).

  2. My friend has been testing it for 5days and it looks stable. Only thing I am a little concerned is CPU usage, during mouse movement it's just an extra strain to the battery if the user is on a laptop e.g. I am not sure if there's even more efficient way to do it but for now I can't think of any. But there's the only problem I could think of.
    CPU usage is about 2% when high mouse movement which is almost nothing but still something if you need every extra minute and you use mouse a lot. But that is a minor thing I think.

  3. Let us know if you find it because I couldn't :)

chmap - thanks, that was the first thing I had to programm for my friend :) . I don't have much time right now but I wanted to create one more option - workspace_r=+x and workspace_r=-x which would switch to the next workspace and to the previous one. But I am not sure which that syntax of xdotool if this can be done with 1 command or not.

@noobxgockel
2) Thanks adding it now :)
3) Cool idea, will look into it!

from naga_keypadmapper.

Destroyer avatar Destroyer commented on May 27, 2024

Alright workspace_r, workspace, click added. More info in the readme.
Try it and let me know if it works for you ;)

from naga_keypadmapper.

apocatarsis avatar apocatarsis commented on May 27, 2024

I merged your version with the master, everything should work fine, let me know. I think is a good idea to continue working at testlab and merge eventually when tested.

Thank you both for your ideas and effort!! Thanks to you the Mapper is now much much better!

from naga_keypadmapper.

markusmo3 avatar markusmo3 commented on May 27, 2024

@apocatarsis i must thank you for providing such piece of software :D

@Destroyer Totally forgot to do feedback. Tested the workspace_r and click, both work flawlessly C:

from naga_keypadmapper.

apocatarsis avatar apocatarsis commented on May 27, 2024

Closing then!

from naga_keypadmapper.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.