🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.sys.macintosh
Article #132149

OSX Lion - jak zamienić klawisz CMD na "alt"?

#132149
From: Jacek Osiecki
Date: Wed, 29 Feb 2012 16:35
89 lines
4023 bytes
Witam,

Dosyć gładko poszła mi przesiadka z windows7 na Liona - jako osoba, która od
lat używa praktycznie tylko linuxa a windows traktowała jako zło konieczne
na laptopie (zło konieczne - czytaj "nie chce mi się konfigurować linuxa na
laptopie" ;) czuję się tu dużo lepiej :)

Brakuje mi paru rzeczy, ale jedna zdecydowanie wysuwa się na prowadzenie:

Czy jest jakiś nielegalny :) hack, pozwalający na zamianę funkcji tylko
jednego klawisza CMD? W Macbooku mocno wkurzająca jest obecność tego CMD na
prawo od spacji, co sprawia że często zamiast pliterek uruchamiam jakieś
funkcje lub wręcz kasuję wpisany tekst jeśli chciałem napisać "ż" :)

Owszem, da się ładnie w konfiguracji klawiatury zamienić CMD z "alt", ale
dotyczy to wtedy obu klawiszy - tymczasem ja wolałbym by po prostu prawy
był traktowany na równi z prawym alt.

Jako stary linuksiarz postanowiłem podrążyć i - nawet miło, podstawowe
konieczne narzędzia są :)

Sprawdziłem przy pomocy xev, że prawy i lewy klawisz nie są tożsame dla
systemu:

Lewy: 
    state 0x0, keycode 63 (keysym 0xffe7, Meta_L), same_screen YES,

Prawy:
    state 0x0, keycode 71 (keysym 0xffe8, Meta_R), same_screen YES,

Odpowiednio lewy i prawy alt mają keycode 66 i 69.

Teraz xmodmap:

mod1        Mode_switch (0x42),  Mode_switch (0x45)
mod2        Meta_L (0x3f),  Meta_R (0x47)

Rzeczony prawy CMD to 0x47 czyli 71.
Zmieniam mu tryb na Mode_switch:

xmodmap -e "keycode 0x47 = Mode_switch"

i niby już prawie dobrze...

mod1        Mode_switch (0x42),  Mode_switch (0x45)
mod2        Meta_L (0x3f),  Mode_switch (0x47)

Co więcej, xev twierdzi że naprawdę jest już fajnie:

Tu efekt prawyALT+a:

KeyPress event, serial 29, synthetic NO, window 0x600001,
    root 0x142, subw 0x0, time 3387870892, (438,434), root:(438,456),
    state 0x2000, keycode 8 (keysym 0x1b1, aogonek), same_screen YES,
    XLookupString gives 2 bytes: (c4 85) "ą"
    XmbLookupString gives 2 bytes: (c4 85) "ą"
    XFilterEvent returns: False

Tu prawyCMD+a:

KeyPress event, serial 29, synthetic NO, window 0x600001,
    root 0x142, subw 0x0, time 3387955578, (357,333), root:(357,355),
    state 0x2000, keycode 8 (keysym 0x1b1, aogonek), same_screen YES,
    XLookupString gives 2 bytes: (c4 85) "ą"
    XmbLookupString gives 2 bytes: (c4 85) "ą"
    XFilterEvent returns: False

Dla porównania lewyCMD+a:

KeyPress event, serial 29, synthetic NO, window 0x600001,
    root 0x142, subw 0x0, time 3388001655, (442,479), root:(442,501),
    state 0x10, keycode 8 (keysym 0x61, a), same_screen YES,
    XLookupString gives 1 bytes: (61) "a"
    XmbLookupString gives 1 bytes: (61) "a"
    XFilterEvent returns: False

Czyli - prawyCMD+a generuje 'aogonek', czyli to czego chcę.
Ale niestety - nadal zaznacza ekran zamiast wypisać "ą".

Jakiś pomysł co jeszcze należałoby zrobić żeby osiągnąć upragniony cel?

W ostateczności zamienię funkcjami oba CMD i ALT, ale zdecydowanie
przyjemniej by było mieć je połączone stronami - lewy CMD i ALT jako CMD
a prawy CMD i ALT jako ALT.

Pozdrawiam,
-- 
Jacek Osiecki joshua@ceti.pl GG:3828944
I don't want something I need. I want something I want.
Technical Details
Message-ID: <slrnjksktk.6k8.joshua@tau.ceti.pl>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.cyf-kr.edu.pl!news.ceti.pl!not-for-mail

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!news.cyf-kr.edu.pl!news.ceti.pl!not-for-mail
From: Jacek Osiecki <joshua@ceti.pl>
Newsgroups: pl.comp.sys.macintosh
Subject: OSX Lion - jak zamienić klawisz CMD na "alt"?
Date: Wed, 29 Feb 2012 16:35:00 +0000 (UTC)
Organization: CETI S.C. (Krakow, Poland)
Lines: 89
Message-ID: <slrnjksktk.6k8.joshua@tau.ceti.pl>
Reply-To: joshua@ceti.pl
NNTP-Posting-Host: tau.ceti.pl
Mime-Version: 1.0
X-Trace: alfa.ceti.pl 1330533300 61471 62.121.128.11 (29 Feb 2012 16:35:00 GMT)
X-Complaints-To: abuse@tech.ceti.pl
NNTP-Posting-Date: Wed, 29 Feb 2012 16:35:00 +0000 (UTC)
User-Agent: slrn/0.9.7.4 (Linux)
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit