LINUX.ORG.RU
ФорумGames

KDE блокирует кнопку Win (super) в ACE Arma 3

 , , , ,


0

1

Установил Arma 3 и установил ACE 3, вне игры кнопка Win работает нормально (win+v открывает буфер обмена Win+e открывает Dolphin), но в самой игре, при нажатии Win или ctrl+win круговое меню ACE не появляеться, при этом если перебиндить открытие этого меню на условный Caps lock или любую другую кнопку все работает нормально.

использую: Void linux, KDE Plasma 6, Wayland

запускаю Arma 3 через Proton-cachyos-11.0-20260521-slr-x86_64_v3 изменять бинд ACE меню мне не очень нравиться, я уже давно привык к кнопку Win, это почти что заново учиться играть наверное

Не понял, игра пытается перехватывать кнопку Win для своих внутренних нужд? Это ж кнопка для системных хоткеев буквально. Приложения не должны её использовать.

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

В плазме есть настройка, какие бинды имеет право перехватывать приложение.

Merionet ★★
()
10 июля 2026 г.

… изменять бинд ACE меню мне не очень нравиться, я уже давно привык к кнопку Win, это почти что заново учиться играть наверное

Помимо смены бинда в игре или в КДЕ можно попробовать еще два варианта:

  1. В настройках КДЕ для приложения можно попробовать отключить глобальные хоткеи. Но к играм в протоне привязать эту настройку может быть не просто и не будет работать еще и alt-tab.

  2. Можно поставить keyd и привязать какую-нибудь кнопку к win, типа F13. На неё повесить бинд в игре. Переключаться на этот профиль автоматически (есть привязка к приложениям) или вручную между обычным с работающим win и с F13.

  3. Можно запускать ручками или при запуске/закрытии игры костыль (написал дипсик по запросу с парой моих правок его косяков) toggle_win_key.sh:

#!/bin/bash

# --- Получаем описание действия из kglobalshortcutsrc ---
DESCRIPTION=$(grep "^activate application launcher=" ~/.config/kglobalshortcutsrc | cut -d',' -f3)

# Если описание не найдено (например, файла нет), используем стандартное русское
if [ -z "$DESCRIPTION" ]; then
    DESCRIPTION="Вызвать меню запуска приложений"
    echo "⚠  Описание не найдено в конфиге, используем '$DESCRIPTION'"
fi

# Идентификатор действия для D-Bus (компонент, имя, контекст, описание)
ACTION_ID="['plasmashell', 'activate application launcher', 'plasmashell', '$DESCRIPTION']"

# --- Функции ---
enable_meta() {
    gdbus call --session \
        --dest org.kde.kglobalaccel \
        --object-path /kglobalaccel \
        --method org.kde.KGlobalAccel.setShortcut \
        "$ACTION_ID" \
        "[16777250]" \
        4 #> /dev/null 2>&1
    echo "🔹 Клавиша Win (Meta) ВКЛЮЧЕНА (описание: $DESCRIPTION)"
}

disable_meta() {
    gdbus call --session \
        --dest org.kde.kglobalaccel \
        --object-path /kglobalaccel \
        --method org.kde.KGlobalAccel.setShortcut \
        "$ACTION_ID" \
        "[]" \
        4 #> /dev/null 2>&1
    echo "🔸 Клавиша Win (Meta) ОТКЛЮЧЕНА (описание: $DESCRIPTION)"
}

# --- Определение текущего состояния через D-Bus ---
CURRENT_SHORTCUTS=$(gdbus call --session \
    --dest org.kde.kglobalaccel \
    --object-path /kglobalaccel \
    --method org.kde.KGlobalAccel.shortcut \
    "$ACTION_ID" 2>/dev/null)

# Проверяем, есть ли в ответе код Meta (16777216)
if echo "$CURRENT_SHORTCUTS" | grep -q "16777250"; then
    # Meta включена → отключаем
    disable_meta
else
    # Meta отключена → включаем
    enable_meta
fi

echo "✅ Готово. Нажмите Win, чтобы проверить."
altwazar ★★★★★
()
  • Markdown
Пустая строка (два раза Enter) начинает новый абзац. Знак '>' в начале абзаца выделяет абзац курсивом цитирования.
Внимание: прочитайте описание разметки Markdown.
Используйте Ctrl-Enter для размещения комментария