Модуль и сетка — Принципы — Контур.Гайды
Принципы
Цвет
Модуль и сетка
Отступы и выравнивание
Текст в интерфейсе
Глоссарий
Тексты ошибок
Текстовые стили
Типографика
Время отклика
Интерактивность
Анимация
Сохранение данных
Доступность интерфейсов
Клавиатура
Капча
Печать
Валидация форм
Поиск и фильтры
Фильтры в таблицах
Проектировщик
Модель оценки проектировщика
Полугодовые цели
Верстка макета
Как писать гайды
Мобильные приложения
Пользовательские исследования
Юзабилист
Принципы пользовательских исследований
Принципы работы с опросами
Выбор метода ЮТ
Как подготовить прототип к ЮТ
Анализ данных исследования
Презентация результатов и артефакты
Компоненты
Поле ввода
Автополе
Комбобокс
Поле с токенами
Поле с валютой
Поле поиска
Поле с датой
Поле с маской
Поле с паролем
Поле с телефоном
Многострочное поле
Ссылка
Кнопка
Кнопка-меню
Кебаб-меню
Чекбокс
Тогл
Радиокнопки
Переключатель
Раскрывающийся список
Меню
Модальное окно
Табы
Пейджинг
Ещёкалка
Скролл
Бесконечный скролл
Хинт
Тултип
Тост
Нанобокс
Сайдпейдж
КЛАДР
ФИАС
Спиннер
Прогресс-бар
Глобальный лоадер
Отправка файла на сервер
Подтверждения
Экраны
Шаблоны экранов
Шапка
Подвал
Центр поддержки
Приветственные страницы
Страницы ошибок
Письма
Ресурсы
Библиотеки компонентов
Иконки для интерфейса
Иконки продуктов
Иконки возможностей
Логотипы
Модуль в 8 пикселей — базовая размерная единица интерфейсов Контура. На основе модуля строятся типографика и контролы, выбираются размеры для иконок, высчитываются отступы между элементами.
Мы используем модуль везде, где это не нарушает эстетики и не противоречит здравому смыслу.
Зачем нужен модуль
Использование модуля делает дизайн вычисляемым и более предсказуемым:
Модуль упрощает выбор размеров
Без модуля шагом становится 1px и выбирать приходится из избыточного количества вариантов. Модуль ограничивает выбор и экономит время на рутинных задачах верстки.
Модуль делает решения объяснимыми
Когда дизайнеры Контура выбирали радиус скругления кнопок, потребовалось провести голосование. Если системы нет, остается руководствоваться мнением большинства — в ретроспективе результаты таких решений выглядят малопонятными.
Модуль ускоряет перенос дизайна в код
Если разработчик знает, что все размеры должны быть кратны 8px, то отступ в 7px в макете не вызовет вопросов. Разработчик сам примет правильное решение и исправит ошибку без обращения к дизайнеру.
Почему 8
Исторически интерфейсы Контура верстались с отступами, кратными 5 и 10px, — стандартный выбор для небольших проектов, где удобство круглых цифр важнее системности. Но шаг 10px проигрывает 8px, когда речь заходит о построении на основе одного модуля всей дизайн-системы.
Модуль 8 пикселей:
- Можно более последовательно использовать во всех элементах дизайна: контролы, иконки, типографика
- Имеет меньший шаг — больше вариативности
- Имеет два подмодуля 4px и 2px, а не один, как у 10px
- Объекты с размером, кратным 0,5m, всегда можно разместить по центру, в отличие от 10px сетки, в которой подмодуль нечетный
- Это отраслевой стандарт
Принципы
Модуль 8px — основной, обозначается «m». В размерах до 40px допустимо использовать шаг в полмодуля, 0,5m.
Например, у шрифта размером 14px предусмотрено две высоты строки: 24px для основного набора и 20px для коротких подписей, где нужна компактность:
Модуль имеет прикладное значение — является ориентиром для выбора размеров, но самостоятельной ценности у него нет, поэтому макеты не нужно фанатично вписывать в восьмипиксельную сетку.
«Сетки объясняют не красоту макета, а его закономерности». Данил Ковчий
Подробнее о том, как использовать модуль в верстке, написано в гайде «Отступы и выравнивание».
Зачем нужна клавиша Fn и как её использовать
13 октября 2021 Ликбез Технологии
Всё, что следует знать об одной из самых полезных кнопок.
Что это за клавиша
Fn, или Function, — это специальная клавиша‑модификатор, которая расширяет возможности клавиатуры ноутбука или компьютера. Она изменяет назначение стандартных кнопок и позволяет выполнять с их помощью дополнительные действия.
Зачем нужна клавиша Fn
Fn появилась вместе с распространением компактных клавиатур и чаще всего используется, чтобы добавить недостающие клавиши на ноутбуки, где полный набор попросту не помещается. Например, нажимая на Fn в сочетании с PageUp или PageDown можно заставить ОС думать, что нажаты Home и End, хотя физически этих кнопок нет.
Кроме того, клавиша‑модификатор повышает удобство использования ноутбуком, позволяя регулировать яркость экрана, громкость и подсветку клавиатуры, а также отключать и включать беспроводные модули, тачпад или переводить компьютер в спящий режим.
В некоторых устройствах сочетанием Fn + NumLock можно превратить клавиши J, K, L, U, I, O, 7, 8 и 9 в цифровой блок клавиатуры для быстрого ввода чисел при работе с таблицами.
Где находится клавиша Fn
Кадр: 0612 TV w: NERDfirst / YoutubeРасположение клавиши Fn различается в зависимости от модели устройства. Обычно она крайняя слева в нижнем ряду по соседству с Ctrl. Иногда Fn находится на месте Ctrl, тогда как последняя размещается в левом нижнем углу клавиатуры.
Как пользоваться клавишей Fn
Отдельное нажатие Fn не даёт ничего. Модификатор работает только в паре с другими кнопками и только с теми, которые имеют двойное назначение. Например, верхний ряд функциональных клавиш F1–F12 при обычном нажатии выполняет свои привычные функции: F1 открывает справку, F5 обновляет страницу и так далее.
Кадр: macmostvideo / YouTubeНо если кликнуть по ним, удерживая при этом Fn, то в зависимости от производителя устройства назначение клавиш изменится. Скажем, на клавиатуре Microsoft Surface F1 отключит звук, а F5 запустит воспроизведение в плеере.
Как отключить клавишу Fn
В зависимости от настроек по умолчанию альтернативные действия клавиш иногда работают без нажатия Fn, а в сочетании с модификатором будут вызываться основные функции. Если для вас это неудобно, можно переключить режим работы Fn и сделать наоборот.
В некоторых моделях ноутбуков и компьютеров эта опция есть в настройках ОС и фирменных утилитах производителей. Например, чтобы отключить клавишу Fn на Mac, достаточно перейти в системные настройки, открыть раздел «Клавиатура» и поставить галочку «Использовать функциональные клавиши F1, F2 и др. как стандартные».
Также на некоторых устройствах есть клавиша F‑Lock (также FnLock или FnLk). Как правило, она объединена с Escape (Esc) и может иметь значок замка. При нажатии на неё в сочетании с кнопкой Fn команды функциональных клавиш сменятся с альтернативных на основные.
Кадр: LenovoSupport / YouTubeК сожалению, F‑Lock встречается довольно редко, и обычно режим работы клавиш переключается в BIOS.
Кадр: furulevi / YouTube- Для этого зайдите в BIOS и откройте раздел System Configuration или Advanced.
- Найдите параметр Action Keys Mode, который может также называться Function Key Behavior, Function Keys Mode или HotKey Mode.
- У него будет выбрано одно из двух значений, которые имеют разные названия. Просто смените его на противоположное: Enabled на Disabled, Function Key на Multimedia Key и так далее.
- Нажмите F10 для сохранения настроек и подтвердите перезагрузку.
Как поменять Fn и Ctrl местами
Если вас раздражает, что клавиша Fn находится на месте Ctrl в левом нижнему углу клавиатуры, можно попытаться поменять их местами. Правда, такая возможность доступна не везде. Так, она точно есть в ноутбуках Lenovo.
Кадр: BsianDAD / YouTubeДля переназначения клавиш зайдите в BIOS, откройте раздел Config → Keyboard/Mouse и установите для параметра Fn and Ctrl Key Swap значение Enabled. Нажмите F10, чтобы сохранить настройки и перезагрузить компьютер.
Читайте также 🧐
- 25 горячих клавиш, о которых вы даже не догадывались
- Зачем нужна клавиша Scroll Lock и как сделать её полезной
- Как настроить таймер выключения компьютера
- Как настроить в BIOS загрузку с флешки
Как прослушать название нажатой клавиши с помощью модуля клавиатуры в Python?
Задай вопрос
спросил
Изменено 2 года, 7 месяцев назад
Просмотрено 758 раз
Я хочу получить название нажатой клавиши с помощью модуля клавиатуры Python.
Мне удалось зарегистрировать горячую клавишу следующим образом.
импортировать tkinter как tk импорт потоков время импорта импортировать клавиатуру класс threadingGUI(): защита __init__(сам): self.stop_flag = Ложь self.thread=Нет def executeHotKey (я, abc): print("клавиша нажата" + abc) определение time_count (я): пока не self.stop_flag: время сна(1) деф старт(сам): если не self.thread: # добавить горячую клавишу keyboard.add_hotkey('a', self.executeHotKey, args=('a')) keyboard.add_hotkey('b', self.executeHotKey, args=('b')) keyboard.add_hotkey('c', self.executeHotKey, args=('c')) self.thread = threading.Thread (цель = self.time_count) self.stop_flag = Ложь self.thread.start () деф стоп(сам): если self.thread: self.stop_flag=Истина self.thread.join() self.thread=Нет деф GUI_start (сам): корень=tk. Tk() Button001 = tk.Button (корень, текст = "Пуск", команда = self.start) Button001.pack() Button002=tk.Button(root,text="Stop",command=self.stop) Button002.pack() корень.mainloop() self.stop_flag=Истина self.thread.join() t = потоковый графический интерфейс () t.GUI_start()
Однако приведенный выше код не сработает, пока я не зарегистрирую горячую клавишу заранее.
Я хочу получить имя даже для нажатий клавиш, которые не регистрируются как горячие клавиши.
Это потому, что я хочу иметь TextInput, чтобы пользователи могли регистрировать горячие клавиши в графическом интерфейсе.
Могу ли я в модуле «Клавиатура» прослушивать нажатия клавиш, которые не зарегистрированы как горячие клавиши?
- python
- клавиатура
Попробуйте функцию keyboard.record
, как показано здесь.
Например,
events = keyboard.record('esc')
записал все мои нажатия клавиш, пока я не нажал клавишу выхода. keyboard.record
возвращает список объектов KeyboardEvent
, которые содержат имена (а также некоторые другие данные) для нажатых клавиш.
В случае того, что я набрал, events[0].name
возвращает ‘h’, который был первым введенным мною ключом, events[2].name
возвращает e
, который был вторым набранным мною ключом, и т. д.
Обратите внимание, что key up и key down записываются как отдельные KeyboardEvent
, поэтому вы, вероятно, захотите отфильтровать их, так как они будут содержать двойные буквы каждой буквы (при условии, что вас интересует только имя).
Альтернативный подход:
Если вы не женаты на keyboard
, я предлагаю проверить pynput
, я добился большого успеха в создании кейлоггеров с использованием этого пакета.
1
Зарегистрируйтесь или войдите в систему
Зарегистрируйтесь с помощью Google
Зарегистрируйтесь, используя адрес электронной почты и пароль
Опубликовать как гость
Электронная почта
Требуется, но никогда не отображается
Опубликовать как гость
Электронная почта
Требуется, но не отображается
клавиатура · PyPI
Описание проекта
Получите полный контроль над своей клавиатурой с помощью этой небольшой библиотеки Python. Перехватывайте глобальные события, регистрируйте горячие клавиши, имитируйте нажатия клавиш и многое другое.
Функции
- Глобальный обработчик событий на всех клавиатурах (захватывает клавиши независимо от фокуса).
- Прослушивание и отправка событий клавиатуры.
- Работает с Windows и Linux (требуется sudo), с экспериментальной версией Поддержка OS X (спасибо @glitchassassin!).
- Pure Python , модули C не должны быть скомпилированы.
- Нулевые зависимости . Простота установки и развертывания, просто скопируйте файлы.
- Python 2 и 3 .
- Поддержка сложных горячих клавиш (например,
ctrl+shift+m, ctrl+space
) с регулируемым временем ожидания. - Включает API высокого уровня (например, запись и воспроизведение, add_abbreviation).
- Клавиши карты в том виде, в котором они есть в вашей раскладке, с полная поддержка интернационализации (например,
Ctrl+ç
). - События автоматически фиксируются в отдельном потоке, не блокируя основную программу.
- Проверено и задокументировано.
- Не ломает акцентированные мертвые клавиши (я смотрю на тебя, pyHook).
- Поддержка мыши доступна через мышь проекта (
pip install mouse
).
Использование
Установите пакет PyPI:
pip install keyboard
или клонировать репозиторий (установка не требуется, достаточно исходников):
клон git https://github.com/boppreh/keyboard
или загрузите и распакуйте zip в папку вашего проекта.
Затем проверьте документы API ниже, чтобы узнать, какие функции доступны.
Пример
импорт клавиатуры
keyboard.press_and_release('shift+s, пробел')
keyboard.write('Быстрая коричневая лиса перепрыгивает через ленивую собаку. ')
keyboard.add_hotkey('ctrl+shift+a', print, args=('triggered', 'горячая клавиша'))
# Нажмите PAGE UP, затем PAGE DOWN, чтобы ввести "foobar".
keyboard.add_hotkey('страница вверх, страница вниз', lambda: keyboard.write('foobar'))
# Блокирует, пока вы не нажмете esc.
клавиатура.подождите('esc')
# Записывать события, пока не будет нажата клавиша 'esc'.
записано = клавиатура.запись (пока = 'esc')
# Затем повторите воспроизведение с трехкратной скоростью.
keyboard.play(записано, speed_factor=3)
# Введите @@, затем нажмите пробел, чтобы заменить аббревиатуру.
keyboard.add_abbreviation('@@', '[email protected]')
# Блокировать навсегда, например, `while True`.
клавиатура.подождите()
Известные ограничения:
- События, созданные под Windows, не сообщают идентификатор устройства (
event.device == None
). № 21 - Медиа-ключи в Linux могут отображаться безымянными (только скан-код) или вообще не отображаться. № 20
- Подавление/блокировка ключей доступно только в Windows. № 22
- Чтобы избежать зависимости от X, части Linux считывают необработанные файлы устройств (
) но для этого нужен рут. - Другие приложения, такие как некоторые игры, могут регистрировать хуки, которые поглощают все
ключевые события. В данном случае
клавиатура
не сможет сообщать о событиях. - Эта программа не пытается скрыться, поэтому не используйте ее для кейлоггеров или сетевых игровых ботов. Будь ответственным.
Детали проекта
Эта версия
0,13,5
0.13.4
0.13.3
0.13.2
0.13.0
0.11.0
0.10.4
0.10.3
0.10.2
0.10.0
0.9.13
0.9.12
0.9.11
0.9.10
0.9.9
0.9.8
0.9.7
0.9.6
0.9.5
0.9.4
0.9.3
0.9.1
0.7.1
0.7.0
0.6.8
0.6.7
0.6.6
0,6,5
0.6.4
0.6.3
0.6.2
0.6.1
0.6.0
Скачать файлы
Загрузите файл для своей платформы. Если вы не уверены, что выбрать, узнайте больше об установке пакетов.
Исходный дистрибутив
клавиатура-0.13.5.zip (71,8 КБ посмотреть хеши)
Загружено источник
Встроенный дистрибутив
клавиатура-0.13.5-py3-none-any.whl (58,1 КБ посмотреть хеши)
Загружено ру3
Закрывать
Хэши для клавиатуры-0.13.5.zip
Алгоритм | Дайджест хэша | |
---|---|---|
ША256 | 63ed83305955939ca5c9a73755e5cc43e8242263f5ad5fd3bb7e0b032f3d308b | |
МД5 | d0d1c7a6f34e664f5cedea9a2838da0c | |
БЛЕЙК2-256 | 7975c969f2258e908c39aadfc57d1cb78247dc49e6d36371bb3a48c194640c01 |
Закрывать