xfce подкачивают ключи командования и управления

cowsay -l списки весь доступный cowfiles.

cowsay -l | tail -n +2 | tr ' ' '\n' | shuf -n 1

tail -n +2 удаляет первую строку, которая указывает путь к файлам Коровы, которые будут использоваться ("Файлы коровы в/usr/share/cows": в cowsay 3.02-8 в Arch Linux), tr ' ' '\n' разделяет вывод на строки и, наконец, shuf -n 1 выбирает случайную корову.

3
30.12.2011, 13:37
3 ответа

Если вы попробуете запустить man xkeyboard-config, вы получите множество вариантов переключения поведения. Мне больше всего нравится ctrl:swap_rwin_rctl, что делает (только )правильным Command(aka Meta , Super , Win)work как второй Ctrl . Так что это то, что вы должны запустить, чтобы переключиться:

setxkbmap -option ctrl:swap_rwin_rctl

Если вы также хотите переключить левую -сторону Ctrl и мета-клавиши , просто снова запустите setxkbmapс помощью ctrl:swap_lwin_lctl.

Запуск этой команды на терминале заставит изменения действовать только до тех пор, пока вы не выйдете из системы, но вы можете запустить эту команду при запуске, чтобы сделать изменения постоянными.

3
27.01.2020, 21:29

setxkbmap -option altwin:left_meta_win

Запустите echo -option altwin:left_meta_win >> ~/.Xkbmap, чтобы сделать его постоянным.

3
27.01.2020, 21:29

Я только начинаю, так как первоначальный ответ был слишком длинным и подробным.

Я бы просто использовал xkeysnail , он похож на xmodmap или xkb, но более настраиваемый, основанный на Python, его легче модифицировать, и он обычно находится в репозиториях дистрибутива.

Вы также можете использовать мое приложение kinto , которое использует xkeysnail и дает вам привязки клавиш, подобные Mac. Kinto также фактически установит xkeysnail в качестве службы systemd, чего не произойдет через репозиторий или сайт github для xkeysnail.

Пример конфига, созданного для xkeysnail.

# -*- coding: utf-8 -*-

import re
from xkeysnail.transform import *

terminals = ["gnome-terminal","konsole","io.elementary.terminal","terminator","sakura","guake","tilda","xterm","eterm","kitty"]
terminals = [term.casefold() for term in terminals]
termStr = "|".join(str(x) for x in terminals)

# [Conditional modmap] Change modifier keys in certain applications
define_conditional_modmap(lambda wm_class: wm_class.casefold() not in terminals,{
    # Default Mac/Win
    Key.LEFT_ALT: Key.RIGHT_CTRL,   # WinMac
    Key.LEFT_META: Key.LEFT_ALT,    # WinMac
    Key.LEFT_CTRL: Key.LEFT_META,   # WinMac
    Key.RIGHT_ALT: Key.RIGHT_CTRL,  # WinMac
    Key.RIGHT_META: Key.RIGHT_ALT,  # WinMac
    Key.RIGHT_CTRL: Key.RIGHT_META, # WinMac
})

# [Conditional modmap] Change modifier keys in certain applications
define_conditional_modmap(re.compile(termStr, re.IGNORECASE), {
    # Default Mac/Win
    Key.LEFT_ALT: Key.RIGHT_CTRL,   # WinMac
    Key.LEFT_META: Key.LEFT_ALT,    # WinMac
    Key.LEFT_CTRL: Key.LEFT_CTRL,   # WinMac
    Key.RIGHT_ALT: Key.RIGHT_CTRL,  # WinMac
    Key.RIGHT_META: Key.RIGHT_ALT,  # WinMac
    Key.RIGHT_CTRL: Key.LEFT_CTRL,  # WinMac
})

define_keymap(re.compile(termStr, re.IGNORECASE),{
    # Ctrl Tab - In App Tab Switching
    K("LC-Tab") : K("LC-PAGE_DOWN"),
    K("LC-Shift-Tab") : K("LC-PAGE_UP"),
    K("LC-Grave") : K("LC-PAGE_UP"),
    # Converts Cmd to use Ctrl-Shift
    K("RC-Tab"): K("RC-F13"),
    K("RC-Shift-Tab"): K("RC-Shift-F13"),
    K("RC-V"): K("C-Shift-V"),
    K("RC-MINUS"): K("C-Shift-MINUS"),
    K("RC-EQUAL"): K("C-Shift-EQUAL"),
    K("RC-BACKSPACE"): K("C-Shift-BACKSPACE"),
    K("RC-Q"): K("C-Shift-Q"),
    K("RC-W"): K("C-Shift-W"),
    K("RC-E"): K("C-Shift-E"),
    K("RC-R"): K("C-Shift-R"),
    K("RC-T"): K("C-Shift-t"),
    K("RC-Y"): K("C-Shift-Y"),
    K("RC-U"): K("C-Shift-U"),
    K("RC-I"): K("C-Shift-I"),
    K("RC-O"): K("C-Shift-O"),
    K("RC-P"): K("C-Shift-P"),
    K("RC-LEFT_BRACE"): K("C-Shift-LEFT_BRACE"),
    K("RC-RIGHT_BRACE"): K("C-Shift-RIGHT_BRACE"),
    K("RC-A"): K("C-Shift-A"),
    K("RC-S"): K("C-Shift-S"),
    K("RC-D"): K("C-Shift-D"),
    K("RC-F"): K("C-Shift-F"),
    K("RC-G"): K("C-Shift-G"),
    K("RC-H"): K("C-Shift-H"),
    K("RC-J"): K("C-Shift-J"),
    K("RC-K"): K("C-Shift-K"),
    K("RC-L"): K("C-Shift-L"),
    K("RC-SEMICOLON"): K("C-Shift-SEMICOLON"),
    K("RC-APOSTROPHE"): K("C-Shift-APOSTROPHE"),
    K("RC-GRAVE"): K("C-Shift-GRAVE"),
    K("RC-BACKSLASH"): K("C-Shift-BACKSLASH"),
    K("RC-Z"): K("C-Shift-Z"),
    K("RC-X"): K("C-Shift-X"),
    K("RC-C"): K("C-Shift-C"),
    K("RC-V"): K("C-Shift-V"),
    K("RC-B"): K("C-Shift-B"),
    K("RC-N"): K("C-Shift-N"),
    K("RC-M"): K("C-Shift-M"),
    K("RC-COMMA"): K("C-Shift-COMMA"),
    K("RC-DOT"): K("C-Shift-DOT"),
    K("RC-SLASH"): K("C-Shift-SLASH"),
    K("RC-KPASTERISK"): K("C-Shift-KPASTERISK"),
}, "terminals")
2
18.02.2020, 21:49

Теги

Похожие вопросы