To interesujące wyzwanie i zgadzam się z tym, że xinput nie wydaje się idealnie do tego przystosowany. Spędziłem trochę czasu, majstrując przy umiejętnościach xmodmap, i byłem tak frustrująco bliski osiągnięcia tego, co chcesz zrobić ... bez faktycznego dotarcia tam.
Za pomocą xmodmap można przypisać parenleft jako przesunięty symbol klawisza na lewym klawiszu Shift:
xmodmap -e 'keysym Shift_L = Shift_L parenleft Shift_L parenleft'
który sorta prace, przynajmniej w moim testowania na Fedora 17 pudełka, ale nie w sposób zadowalający. Zauważyłem, że przy takim mapowaniu klawisz Shift nadal działał normalnie i nie renderował żadnych fałszywych parenów, ale (frustrująco) nie produkował też niezawodnie parenów lewych. Z jakiegoś powodu, klawisz nie wydaje się wiarygodny zmieniać się , co łamie swoje zadanie przesunięte ... początkowo. Z jakiegoś powodu kilkakrotne naciśnięcie klawisza shift w lewo spowoduje, że zacznie on wytwarzać lewe części, ale dopiero po czwartym lub piątym naciśnięciu.
Jednym zachowanie ja zrobiłem zawiadomienie jednak, że może być w stanie pracować z jako „wystarczająco blisko” analogowej: Okazało się, że po mapowania parenleft i parenright na Shift_L i Shift_R mogłem niezawodnie wpisać parens przez „rolling” w poprzek obu klawiszy shift - innymi słowy, z tym odwzorowaniem:
xmodmap -e 'keysym Shift_L = Shift_L parenleft Shift_L parenleft'
xmodmap -e 'keysym Shift_R = Shift_R parenright Shift_R parenright'
naciśnięcie Shift_L, a następnie Shift_R, a następnie zwolnienie obu, spowoduje wyświetlenie prawego lub lewego lewego w przeciwnym kierunku. (Odwzorowania paren można oczywiście odwrócić; nie mogłem do końca zdecydować, która droga wydaje się bardziej „naturalna”).
To było tak blisko, jak mogłem osiągnąć dokładnie takie zachowanie, jakiego szukasz; nie wydaje się, że jest to możliwe przy użyciu samego xmodmap.
Byłem w połowie przekonany, że to po prostu niemożliwe, kropka, ale potem zdałem sobie sprawę, że istnieje co najmniej jeden klawisz, który działa dokładnie tak , jak opisujesz: klawisz Super („Windows”). Pod Gnome Shell jest to klawisz modyfikujący (mod4), który daje inny efekt (wyzwalanie Przeglądu) po naciśnięciu sam. Tak więc, przynajmniej teoretycznie, możliwe może być zrealizowanie pożądanego przeciążenia klawiszem Shift w ten sam sposób.
... Ale nie mam absolutnie pojęcia, jak by to było zrobione ani jak inwazyjne byłoby utknięcie w niezbędnym przetwarzaniu za każdym razem, gdy naciskasz klawisz Shift. :-)