LINUX.ORG.RU

Минус больше не символ

 


1

1

Добрый день, ЛОР.

В поcледних версиях Midnight Commander столкнулся с тем, что минус в верхнем ряду клавиатуры ведёт себя так же, как и минус на цифровой, т.е. вместо ввода соответствующего символа вызывает окно снятия выделения.

Сначала я это увидел на самособранном mc с гитхаба в стареньком дебиане. Особого значения не придал, думал, криво собрал.

Но теперь та же самая проблема обнаружилась в mc 4.8.25, поставленном pacman-ом в Manjaro KDE. (Если что, это другой комп, и настройки я переносил НЕ с той системы, которая упомянута в предыдущем абзаце.)

Это как-то лечится настройками, или пора багрепорт заводить?

P.S. по идее, где-то таки должно настраиваться, поскольку у свежесозданного пользователя минус срабатывает как символ. Но у этого свежесозданного он и с цифровой клавиатуры работает как символ…

P.P.S. Оказывается, официальный FAQ mc с некоторых пор рекомендует вводить + и -, предваряя их комбинацией Ctrl+q. Куда катится этот мир… Вопрос, чем же настройки нового пользователя отличаются от моих, остаётся актуальным.

★★★★★

Последнее исправление: hobbit (всего исправлений: 3)

на

rpm -qa mc
mc-4.8.24-3.fc30.x86_64
аналогичное поведение, эта версия мидная с апрельских обновлений
sudo grep  8.24-3 /var/log/dnf*
/var/log/dnf.rpm.log:2020-04-21T10:10:57Z SUBDEBUG Upgrade: mc-1:4.8.24-3.fc30.x86_64
/var/log/dnf.rpm.log:2020-04-21T10:10:58Z SUBDEBUG Upgrade: mc-1:4.8.24-3.fc30.x86_64

novitchok ★★★★★
()

4.8.25, release: 13

Аналогично. Никогда бы не додумался до <Ctrl+Q> потом <+> или <->

anonymous
()

Да нет, похоже так и задумано.

 if (!mc_global.tty.alternate_plus_minus)
        switch (c)
        {
        case KEY_KP_ADD:
            c = '+';
            break;
        case KEY_KP_SUBTRACT:
            c = '-';
            break;
        case KEY_KP_MULTIPLY:
            c = '*';
            break;
        default:
            break;
        }

Установите alternate_plus_minus = true в вашем ~/config/mc/ini - и тогда будет символ. Проверил.

Только устанавливайте не через mcedit )

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

alternate_plus_minus = true

Спасибо, помогло.

Вот только тогда он ОБА минуса начинает трактовать как обычные символы. Есть ли способ только минус на цифровой клавиатуре оставить под выделение?

hobbit ★★★★★
() автор топика

arch, mc из реп, минус на цифровой вызывает окно «снять отметку», настройки дефолтные (кроме темы)

d09
()

Нафига нужен mc? Реально, никогда не понимал. А тут еще и бубен нужен..

Есть find, cd, ls + vim.

PunkoIvan ★★★★
()
Ответ на: комментарий от d09

А во что у тебя установлен упомянутый выше alternate_plus_minus?

Тогда, получается, где-то должна быть ещё (как минимум) одна настройка, и возможно, что используемый эмулятор терминала влияет…

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Похоже у вас NumLock нажат.

Без NumLock эти +- дают те самые KEY_KP_* с вызовом диалога выбора.

С включенным NumLock те же +- на цифровой клавиатуре дают обычные +-, без вызова диалога.

Честно говоря, я не настолько понимаю эту кухню. Возможно это slang так обрабатывает нажатия клавиш.

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

NumLock не влияет. Как при alternate_plus_minus = true (оба минуса всегда вызывают окно), так и при false (всегда показывают символ).

hobbit ★★★★★
() автор топика
Ответ на: комментарий от Toxo2

А терминал какой?

Я под yakuake пускаю (в konsole то же самое).

P.S. Впрочем, в ядерной консоли, вызванной по Ctrl+Alt+F2, творится то же самое. Таки в самом mc что-то…

hobbit ★★★★★
() автор топика
Последнее исправление: hobbit (всего исправлений: 1)
Ответ на: комментарий от d09

Посмотри версию самого mc, если не сложно. Сомневаюсь, конечно, что в арче и манжаре они разные, но раз пошли такие чудеса…

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

А терминал какой?

Да, дошло наконец, что это еще и от терминала зависит.

Переключился в голую консоль - там вообще alternate_plus_minus не работает. И на NumLock никак не реагирует.

Речь была про xfce4-terminal, который xterm-256color, насколько я понял.

Toxo2 ★★★★
()

Только если - или + идут первым знаком, т.к:

alternate_plus_minus=false
only_leading_plus_minus=true
anonymous
()
Ответ на: комментарий от Toxo2

это еще и от терминала зависит

Проверил в голой консоли и в KDE konsole, результат одинаковый. Странно это, mc у трех разных людей ведет себя по разномму

d09
()
Ответ на: комментарий от d09

mc у трех разных людей ведет себя по разномму

Да нет, это не у людей. Это действительно у разных эмуляторов терминалов.

Перезагрузился в Debian+KDE - всё, как у вас в konsole.

Перезагрузился в Void+XFCE - снова всё, как у меня в Arch+XFCE было (в т.ч. и с NumLock)

Toxo2 ★★★★
()
Ответ на: комментарий от d09

...бха

Перезагрузился в Fedora+Gnome - там в gnome-terminal снова как в xfce4-terminal.

Следовательно - эта разница в NumLock что-то про Qt vs GLib, видимо.

Toxo2 ★★★★
()

Я не помню когда это было не так, в 4.4.x все так же, думаю и в более ранних тоже.

slapin ★★★★★
()
Ответ на: комментарий от anonymous
alternate_plus_minus=false
only_leading_plus_minus=true

Бинго! Да, появляется ощущение некоторой черезжопности (в конце концов, иногда желание посмотреть суммарный объём нескольких файлов может возникнуть, и когда я уже что-то набираю), но 99% случаев эта комбинация таки закрывает.

Спасибо.

…Но ведь как-то оно раньше всё же по-другому работало…

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

…Но ведь как-то оно раньше всё же по-другому работало…

Может оно просто именно конфиг mc у вас поменялся? Ибо получить коды для клавиш +-/ можно только в сканкодовом либо графическом режиме (gmc), в классических терминалах эти клавиши не считаются добавочными, то есть нет специальных кодов.

vodz ★★★★★
()
Ответ на: комментарий от anonymous

привычка, нормальный редактор для быстрых правок, голоса в голове.

anonymous
()
Ответ на: комментарий от anonymous

Использовал всегда и продолжаю использовать mc во всех его видах - mc, mcview, mcedit, mcdiff. Не вижу альтернативы даже в 20году!

sigurd ★★★★★
()

что минус в верхнем ряду клавиатуры ведёт себя так же, как и минус на цифровой, т.е. вместо ввода соответствующего символа вызывает окно снятия выделения.

Но только если в командной строке пусто. Если там есть хотябы один символ, то "-" уже обрабатывается, как символ. А, уже подсказали...

AS ★★★★★
()
Последнее исправление: AS (всего исправлений: 1)

А что за юзкейс такой начинать команду с минуса? У меня если команда начинается с любого символа (даже пробела), то «-» вводится как символ, не вызывая меню выделения.

app-misc/mc-4.8.24

grem ★★★★★
()
Последнее исправление: grem (всего исправлений: 3)
Ответ на: комментарий от vodz

коды для клавиш +-/ можно только в сканкодовом

И минус на нумпаде будет иметь не тот код который у минуса в обычном месте.

deep-purple ★★★★★
()
Ответ на: комментарий от vodz

Ибо получить коды для клавиш +-/ можно только в сканкодовом либо графическом режиме (gmc)

Под сканкодовым режимом подразумевается K_RAW вот отсюда? Я правильно понимаю, что от самого mc это не зависит, только от вызывающей среды?

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Я правильно понимаю, что от самого mc это не зависит, только от вызывающей среды?

Теоретически, могла быть ESC-последовательность терминалу, которая бы включала различия этих символов. Но практически это уже слишком многого хотеть, это же не dos, где всё железо в ваших руках и локально. Я вот сейчас плююсь, когда в dosbox-е по юниксовой привычке нажимаю ESC-0 вместо F10 в vc/nc, так как это требует меньше перемещений рук и вообще на автомате :)

vodz ★★★★★
()
Ответ на: комментарий от vodz

Я вот сейчас плююсь, когда в dosbox-е по юниксовой привычке нажимаю ESC-0 вместо F10 в vc/nc

Гы, на mc, запущенном в макоси ESC+n это суровая реальность. Ну ещё я недавно развлекался с Debian Bullseye+Gnome3 под kvm. Я не знаю, кто виновен, кот или трос гном или kvm, но там тоже Fn в mc не работают, приходится через Esc доставать.

hobbit ★★★★★
() автор топика
Ответ на: комментарий от vodz

И всё-таки любопытно, уважаемый vodz, я же точно знаю, что вы знаете.

Почему SLang_getkey () при выключенном NumLock возвращает сначала 27, а потом уже сам mc добирает его до 4001?

При включенном NumLock (или при alternate_plus_minus=false, как по-умолчанию в mc, или в настоящей консоли) - он всегда сразу отдает 45 на «минус», 43 на «плюс» сразу, как и положено.

(я тупо принтов навставлял в лог по всему коду обработки нажатия клавиш в mc, потому и вижу)

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

я же точно знаю, что вы знаете.

Загадочно, но знаю:

application_keypad_mode (void)
{  
    if (console_flag || xterm_flag) {
        fprintf (stdout, "\033=");
        fflush (stdout);
    }

То есть вопрос, работает ли комбинация echo -e '\033=' или нет. На консоли точно работает, а вот в моём xterm (konsole от KDE5) - нет.

vodz ★★★★★
()
Ответ на: комментарий от vodz

echo -e '\033='

Да, точно, спасибо. Так и showkey сразу показывает ESC-коды.

Загадочно

Вы года два назад уже тут кому-то объясняли, как правильно считывать двубайтовые коды с клавиш.

Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

Так и showkey сразу показывает ESC-коды.

showkey же показывает не ESC-коды, а scancod-ы, после переключения клавы в этот режим, с соответствующей с этим морокой.

vodz ★★★★★
()
Ответ на: комментарий от vodz
showkey -a

показывает то, что и хотел.
43 и 45 vs 27-79-107 и 27-79-109

По konsole, сижу читаю https://docs.kde.org/stable5/en/applications/konsole/key-bindings.html

Похоже он сам хочет Application Mode|Numeric Mode обрабатывать.
Пойду, в SUSE на KDE загружусь, поиграю в эту игру.

Toxo2 ★★★★
()
Последнее исправление: Toxo2 (всего исправлений: 1)
Ответ на: комментарий от PunkoIvan

Нафига нужен mc? Реально, никогда не понимал.

Быстро скопировать десяток файлов, отличающихся как по имени, так и по расширению, например.

anonymous
()
Ответ на: комментарий от Toxo2

Перезагрузился в Debian+KDE - всё, как у вас в konsole. Перезагрузился в Void+XFCE - снова всё, как у меня в Arch+XFCE было (в т.ч. и с NumLock)

А во что Вы ещё можете перегрузиться?

FortyTwo
()
Ответ на: комментарий от FortyTwo

А во что Вы ещё можете перегрузиться?

На данный момент - ещё могу в SUSE и Ubuntu.
Не помню зачем Ubuntu там. Что-то смотрел. Раньше там Solus был на sda5.

sda      8:0    0 238,5G  0 disk 
├─sda1   8:1    0   4,1G  0 part /efi
├─sda2   8:2    0  39,1G  0 part /mnt/debian
├─sda3   8:3    0  39,1G  0 part /mnt/fedora
├─sda4   8:4    0  39,1G  0 part /mnt/suse
├─sda5   8:5    0  39,1G  0 part /mnt/ubuntu
├─sda6   8:6    0  39,1G  0 part /mnt/void
└─sda7   8:7    0  39,1G  0 part /
Toxo2 ★★★★
()
Ответ на: комментарий от Toxo2

А во что Вы ещё можете перегрузиться?

На данный момент - ещё могу в SUSE и Ubuntu.

Я не очень люблю Булгакова, но почему-то вспомнилось:

− Вы хотите курить, как я вижу? − неожиданно обратился к Бездомному неизвестный, − вы какие предпочитаете?
− А у вас разные, что ли, есть? − мрачно спросил поэт, у которого папиросы кончились.
− Какие предпочитаете? − повторил неизвестный.
− Ну, «Нашу марку», − злобно ответил Бездомный.
Незнакомец немедленно вытащил из кармана портсигар и предложил его Бездомному:
− «Наша марка».

hobbit ★★★★★
() автор топика
Ответ на: комментарий от hobbit

Я «Бег» Булгакова предпочитаю-с. Но всё равно за сравнение плюс!

FortyTwo
()
Ответ на: комментарий от FortyTwo

А основная система какая? Я так понял, Вы перепробовали всё, что можно? Какая Вам ближе?

Если вам правда интересно, и если хозяин темы не прогонит:

Во-первых, конечно, не всё перепробовал. Это как «выпить море».

Во-вторых это всё, безусловно, баловство. Или аддикция.

Вчера сходил на одну свою работу - пополнил словарик в своей БД, люди просили. Сегодня сходил на вторую свою работу - сканер штрих-кодов настроил по маркировке лекарств. Позавчера военную пенсию перевели. В итоге с чистой совестью уехал на дачу. А что на даче делать зимой в Сибири одинокому пенсионеру-трезвеннику и бывшему программисту, если не в линуксах ковыряться?

Debian, конечно, самый привычный. Если надо для дела линуксы - то только Debian использую. Или Debian-based AstraLinux.

Void, конечно, самый понятный. Как-то более/менее понимать эту кухню начал, только когда Void стал пользоваться. В Debian не надо ничего понимать. Там всё уже за тебя умные люди поняли. Одна беда с Void - он через чур живой. Прилетает обновление coreutils - собрали со statx. На следующий день обновление coreutils - выпилии обратно statx. Что-почему-зачем? Как у кого зачешется из их команды - так и будет собрано и обновлено.

Fedora - статусная штучка. Умная. Слишком умная. Не понятно, как такую умную любить. «Красавиц я любил не очень, и не по скудости деньжат - красавиц даже среди ночи волнует как они лежат»

SUSE по-моему больше всех похож на действительно целостную Операционную Систему. Но он настолько целостный и монолитный, что совсем никакой свободы не оставляет.

Arch на мой взгляд самый удобный. По крайней мере на текущий момент.

Как-то так. Наверное.

Toxo2 ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.