Как поменять местами левый Alt и правый Alt

Опубликованные решения показались мне немного загадочными. Вот решение в Python 3.6:

#!/usr/bin/env python3

from pathlib import Path                                                                                                                                                              
import sys                                                                                                                                                                            
import fileinput                                                                                                                                                                      


def remove_multiple_blank_lines_from_file(path, strip_right=True): 
    non_blank_lines_out_of_two_last_lines = [True, True] 
    for line in fileinput.input(str(path), inplace=True): 
        non_blank_lines_out_of_two_last_lines.pop(0) 
        non_blank_lines_out_of_two_last_lines.append(bool(line.strip())) 
        if sum(non_blank_lines_out_of_two_last_lines) > 0: 
            line_to_write = line.rstrip() + '\n' if strip_right else line 
            sys.stdout.write(line_to_write)


def remove_multiple_blank_lines_by_glob(rglob='*', path=Path('.'), strip_right=True): 
    for p in path.rglob(rglob): 
        if p.is_file(): 
            try:
                remove_multiple_blank_lines_from_file(p, strip_right=strip_right)
            except Exception as e:
                print(f"File '{p}' was not processed due the error: {e}")


if __name__ == '__main__':
    remove_multiple_blank_lines_by_glob(sys.argv[1], Path(sys.argv[2]), next(iter(sys.argv[3:]), None) == '--strip-right')

Вы можете вызывать функции из интерпретатора или запускать их из оболочки, например:

$./remove_multiple_lines.py '*' /tmp/ --strip-right
1
05.05.2021, 21:21
1 ответ

В клавишах man xkeyboard-config, для выбора 3-го уровняперечислены несколько опций для изменения доступа к 3-му уровню.

lv3:alt_switch             Any Alt
lv3:lalt_switch            Left Alt
lv3:ralt_switch            Right Alt
lv3:ralt_switch_multikey   Right Alt; Shift+Right Alt as Compose
lv3:ralt_alt               Right Alt never chooses 3rd level

Итак,

setxkbmap -option lv3:lalt_switch -option lv3:ralt_alt

делает левый Alt доступом к 3-му уровню, а правый Alt — обычным Alt.

Поместите команду в сценарий запуска -up, чтобы сделать ее постоянной, или в системах на основе Debian включите параметры в/etc/default/keyboard:

XKBOPTIONS="lv3:lalt_switch,lvl3:ralt_alt"
2
28.07.2021, 11:34

Теги

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