Domyślnie zamień wiersz liczb na wiersz symboli

12

Jako programista częściej piszę symbole niż cyfry. Byłoby więc miło, gdyby rząd liczb na klawiaturze domyślnie tworzył symbole.

Końcowe wyniki powinny być: 6będzie produkować ^i Shift+ 6da 6.

Przez jakiś czas próbowałem przejść na Dvorak, ale połączenie stromej krzywej uczenia się i zbliżającego się terminu nie czyni tego atrakcyjnym rozwiązaniem.

Idealnie chciałbym to zrobić również w systemie Windows, ale skupmy się na Debianie, ponieważ jest to moja główna maszyna programistyczna.

Z tego, co znajduję w sieci, funkcja „Shift Lock”, aktywowana przez szybkie naciśnięcie przycisku Shift, robi dokładnie to w Windows, ale nie mogłam znaleźć żadnego odniesienia * nix.

Edycja: Idealnie, rozwiązanie nie powinno kolidować z kluczami wierszy niepoliczalnymi, takimi jak, [ale jeśli tak, to mogę z tym żyć (jak {to jest bardziej powszechne w C niż [).

rath
źródło

Odpowiedzi:

8

Z twojego pytania rozumiem, że potrzebujesz tylko niektórych klawiszy, aby działały dokładnie tak, jak podczas naciskania shift i odwrotnie. W tym celu możesz zbudować własny układ klawiatury. W tym celu możesz pobrać program Microsoft Keyboard Layout Creator MSKLC, a następnie użyć go do utworzenia niestandardowego układu dla swojego systemu. Również po zbudowaniu niestandardowego układu Należy poprosić o zainstalowanie utworzonego układu, więc wybierz TAK, aby przejść do tego folderu, w którym znajduje się Instalator i zainstalować własny układ. Musisz także zrestartować system po zbudowaniu własnego układu. Po tym musisz tylko aktywować go z Panelu sterowania.

Idź do (dla Windows 8)

  1. Naciśnij przycisk Windows + I (aby otworzyć menu Charms ustawień)
  2. Kliknij przycisk Klawiatura (prawy dolny róg)
  3. Powinieneś zobaczyć swój niestandardowy układ
  4. Wybierz to
  5. A teraz Twój układ niestandardowy zostanie aktywowany

Również pełny samouczek dotyczący MSKLC można znaleźć tutaj i tutaj . Zobacz oba tut, jeśli wystąpią jakiekolwiek problemy.

Łowca
źródło
1
Pytanie dotyczy Debiana.
harrymc
@harrymc Cóż, tak i nie. „Idealnie chciałbym to zrobić również w systemie Windows, ale skupmy się na Debianie, ponieważ jest to moja główna maszyna programistyczna.” Zatem odpowiedź nie jest całkowicie nieprawidłowa w kontekście pytania.
CVn
Wydaje mi się, że powinienem był określić system Windows 7, ponieważ nie posiadam komputera z systemem Windows 8. Niemniej jednak ważna odpowiedź.
rath
@rath nie muszę się martwić, chciałbym wprowadzić szczegóły dotyczące win 7 działającego na wirtualnym pudełku.
Hunter
@rath Oto szczegóły dotyczące robienia tego w W7. Zapoznaj się z tymi linkami: - support.microsoft.com/kb/258824 , support.microsoft.com/kb/306560 i sevenforums.com/tutorials/86239-keyboard-layout-change.html . Zobacz także, że dopiero po dodaniu niestandardowego układu klawiatury (lub dodatkowych zapewnianych przez system Windows) (gdy masz aktywowanych więcej niż 1 układ klawiatury), możesz zobaczyć pasek języka (na pasku zadań, podobnie jak Windows 8 oprócz tego znajduje się w menu Charms).
Hunter
5

Z wątku Odwrotna rola naciśnięcia Shift + Number pochodzi z pliku xmodmap:

keycode  10 = exclam 1 exclam 1
keycode  11 = at 2 at 2
keycode  12 = numbersign 3 numbersign 3
keycode  13 = dollar 4 dollar 4
keycode  14 = percent 5 percent 5
keycode  15 = asciicircum 6 asciicircum 6
keycode  16 = ampersand 7 ampersand 7
keycode  17 = asterisk 8 asterisk 8
keycode  18 = parenleft 9 parenleft 9
keycode  19 = parenright 0 parenright 0

Zobacz powyższy link, aby uzyskać więcej informacji na temat korzystania z tego pliku.

harrymc
źródło
2

Możesz użyć przycisków dumpkeysi loadkeys(dla konsoli) lub xmodmap(dla X), aby ponownie zdefiniować funkcję danego klawisza klawiatury. xevmoże powiedzieć ci, jak X widzi określony klucz.

Zalecam wydrukowanie najpierw pełnego zestawu wyrażeń mapy klawiszy; możliwe, że twój system jest nieco inaczej skonfigurowany na początku, w którym to przypadku powyższe nie będzie dokładnie pasować. Aby to zrobić, po prostu zrób xmodmap -pke(dla drukowania tabeli map klawiszy jako wyrażeń).

Jako przykład, zostać przeniesiony 1do !i Shift+ 1do 1X, najpierw użycie xev aby dowiedzieć się, że 1jest keycode 10 (w moim przypadku, upewnij się, aby sprawdzić). Aby ponownie przypisać klawisz do odwrócenia jego przesuniętej funkcji:

xmodmap -e 'keycode 10 = exclam 1 exclam 1 exclamdown onesuperior exclamdown'

Aby przywrócić normalne działanie (odpowiada temu, co zostało wydrukowane przez xmodmap -pke):

xmodmap -e 'keycode 10 = 1 exclam 1 exclam exclamdown onesuperior exclamdown'

Zmiany wchodzą w życie natychmiast i dotyczą przynajmniej całej sesji X (nie są lokalne dla aplikacji uruchamiającej xmodmap).

Gdy masz już zestaw poleceń xmodmap, które ustawiają klawiaturę tak, jak chcesz, zapisz je w ~ / .xmodmaprc, a następnie dodaj do ~ / .xsessionrc (tworząc, jeśli nie istnieje):

xmodmap ~/.xmodmaprc

Część, którą chcesz dodać do .xmodmaprc, jest po prostu keycode XX = yyy ...częścią polecenia wiersza poleceń (to znaczy argumentem -eprzełącznika).

CVn
źródło