Весенняя сессия с в памяти магазина

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

Опции для оконных менеджеров, которые могут это сделать, включают в себя KDE или twm-kiosk .

(И если у вас нет контроля над платформой, вы вряд ли сможете в любом случае перехватить такие вещи, как ctrl-alt-backspace.)

Редактировать:

В ответ на уменьшенную версию вопроса, в котором он готов позволить вещам, подобным ctl-alt-backspace, пойти и просто хочет большинство ключей, включая alt-tab или другое подобное приложение следующие комбинации должны работать:

Вы можете сделать это с помощью метода XLib XGrabKeyboard через JNI. Это Java / XLib JNI-приложение для захвата нажатия клавиши должно быть хорошей отправной точкой. Однако он использует XGrabKey, который просто пассивно слушает ключи и не мешает другим приложениям получать их. Вместо этого вы захотите использовать XGrabKeyboard, который активно блокирует все обычные события клавиатуры (что, если предпосылка этого вопроса StackOverflow верна, включает ключи переключения задач).

Обратите внимание, что в качестве побочного эффекта захват клавиш в Swing также, вероятно, перестанет работать, потому что ваши окна Swing будут отделены от окна, которое вы создаете на C. Таким образом, вам, вероятно, придется использовать интерфейс JNI для получения ключа при необходимости нажимает на вашу программу. (Хотя я бы определенно посоветовал сначала тестировать его перед написанием кода.) Возможно, вы сможете избежать этого, если вы можете получить окно, используя Java AWT Native Interface , чтобы получить идентификатор окна. (Обратите внимание, что Swing построен поверх AWT, так что это будет работать для Swing.) Однако я не знаю, как это сделать. Похоже, что вы можете перемещаться по дереву окон, получая из окна «Корневое окно» и идя оттуда, чтобы найти свое окно, но все это странно. Было бы неплохо, если AWT NI просто сказал вам идентификатор окна, но это не похоже на это.

Как это предупреждение Напоминание: XGrabKeyboard не является интерфейсом безопасности , это не делает невозможным просмотр другими программами ключей, но представляется вероятным, что оконные менеджеры не будут использовать XQueryKeyMap, поэтому он может предотвратить переключение задач.

1
задан dur 18 January 2019 в 10:45
поделиться

1 ответ

Я нашел решение, есть MapSessionRepository, который может принимать карту. вот документация EnableSpringHttpSession

@EnableSpringHttpSession
@Configuration
public class SpringHttpSessionConfig {
    @Bean
    public MapSessionRepository sessionRepository() {
        return new MapSessionRepository(new ConcurrentHashMap<>());
    }
}
0
ответ дан user1321466 18 January 2019 в 10:45
поделиться
Другие вопросы по тегам:

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