Visual Studio → Что может Ctrl в Visual Studio
Одна простая клавиша Ctrl может значительно упростить работу в Visual Studio. Помимо типичных комбинаций, которые нам очень хорошо знакомы, существует также и большое количество других, менее известных, но от этого и более ценных.
Далее список того, что можно делать с клавишей Ctrl.
Далее список того, что можно делать с клавишей Ctrl.
Linux для всех → Горячие клавиши ctrl+shift+[key] и переключение языков по ctrl+shift (решено)
Проблема: При настройке переключения раскладок на ctrl+shift горячие клавиши вида ctrl+shift+ отказываются работать.
Оказывается совсем недавно (буквально месяц назад) Илья Муравьев написал патч, исправляющий данное недоразумение. Суть сводится к тому что переключение языка после патча срабатывает не на нажатие, а на отпускание кнопок ctrl+shift.
Тема про баг четырехлетней давности на лаунчпаде и на фридесктоп.орг. Сам патч.
Оказывается совсем недавно (буквально месяц назад) Илья Муравьев написал патч, исправляющий данное недоразумение. Суть сводится к тому что переключение языка после патча срабатывает не на нажатие, а на отпускание кнопок ctrl+shift.
Тема про баг четырехлетней давности на лаунчпаде и на фридесктоп.орг. Сам патч.
Firefox → Firefox и произвольное выделение колонок в таблицах
Иногда возникает необходимость скопировать содержимое только одной колонки из таблицы.
Но текст выделяется построчно и, соответственно, копируется вся таблица из которой потом вручную надо выделять нужную колонку.
Но, оказывается, в Firefox можно просто зажать Ctrl и щёлкать по нужным ячейкам таблицы! А потом скопировать выделение в буфер.


Вот такая полезная штука, о которой даже после нескольких лет использования Firefox я не знал.
UPD: как подсказал eudj1n: «Таким же способом можно выделять не только ячейки таблиц, но и произвольный текст на странице»
UPD2: я не поленился и попробовал этод метод в других браузерах, ни в IE, Opera, Chrome мне не удалось выделить колонку текста.
Но текст выделяется построчно и, соответственно, копируется вся таблица из которой потом вручную надо выделять нужную колонку.
Но, оказывается, в Firefox можно просто зажать Ctrl и щёлкать по нужным ячейкам таблицы! А потом скопировать выделение в буфер.


Вот такая полезная штука, о которой даже после нескольких лет использования Firefox я не знал.
UPD: как подсказал eudj1n: «Таким же способом можно выделять не только ячейки таблиц, но и произвольный текст на странице»
UPD2: я не поленился и попробовал этод метод в других браузерах, ни в IE, Opera, Chrome мне не удалось выделить колонку текста.
Интерфейсы → Корявых интерфейсов пост (keys/shortcuts)
Давно хотел высказаться на одну тему. А именно «Клавиши-Модификаторы» (Shift, Alt, CTRL, Win/CMD/Apple/Amiga).
Имеют ли они право (при нажатии на них) выполнять какое-либо действие?
Я вот считаю, что не имеют. Взять например ALT — он используется в комбинациях клавиш типа ALT+F4 (win) или ALT+F2 (Far), или (прости господи) ALT+SHIFT (rus/lat).
Однако человек может передумать нажимать комбинацию клавиш или нажать клавишу-модификатор случайно. И что же тогда произойдёт? На «безопасных», нормальных клавишах-модификаторах — ничего.
К ним в Windows можно отнести Shift и CTRL. А на «опасных» типа WIN или ALT-а — произойдёт совершеннейшая ерунда: ALT — сменит фокус ввода, переместив курсор в строку меню. WIN — вообще может выкинуть вас из полноэкранного режима приложения, только для того, чтобы радостно показать вам меню «пуск».
Отсюда первое правило клавиатурного пользовательского интерфейса: клавиша-модификатор сама по себе должна быть инертна. (При нажатии на неё ничего не должно происходить.)
Далее, есть ужасное сочетание ALT+SHIFT, которое в некоторых случаях используется в Windows для переключения раскладок клавиатуры. Чем же оно ужасно? если вы промахнулись по SHIFT-у или недостаточно чётко его нажали и он не сработал — сработает одиночный ALT, который изменит фокус ввода и выплюнет вас в строку меню. А так как вы в это время писали текст — вы этого можете не заметить и ваши нажатия в худшем случае могут привести к выполнению каких-либо команд меню, либо просто к неприятному вводу нескольких букв в пустоту.
Сочетание CTRL+SHIFT не особо лучше, так как оно хоть и является «безопасным» и инертным (то есть при несрабатывании той или иной клавиши — ничего не произойдёт), обратная сторона этой «безопасности» — это то, что в фокусе внимания невозможно узнать произошло ли переключение (индикатор рус/лат, как правило находится вне поля зрения во время набивки текста).
А всё почему? Потому что нарушено второе правило: сочетания клавиш-модификаторов друг с другом также должны оставаться инертны (то есть нельзя назначать на сочетания типа CTRL+SHIFT или CTRL+SHIFT+ALT какие либо действия — во-первых потому, что если это действие молчаливое и незаметное — невозможно будет сразу однозначно определить совершилось оно или нет, а во вторых, любое исключение из правила инертности клавиш-модификаторов разрушает ощущение «безопасности»).
Какое сочетание было бы более удачным для переключения раскладки? (раз уж его привели в пример). А вот хотя-бы то же CTRL+Space (или CMD+Space на Mac). Почему оно лучше? 1) используется сочетание безопасной клавиши-модификатора и условно-безопасной клавиши «пробел» (она условно-безопасна при вводе текста — так как знак пробела не портит текст). 2) в случае несрабатывания клавиши-модификатора, мы сразу увидим это — вместо переключения раскладки введётся пробел.
Вобщем, для полного счастья в windows необходимо: 1) сделать все клавиши-модификаторы инертными и избавить, наконец ALT и WIN от этих ужасных побочных действий. 2) отключить все действия назначенные на сочетания клавиш-модификаторов.
И тогда, возможно, управление приложениями (и самой системой) с помощью горячих клавиш — станет удобнее (начнут, наконец, полномасштабно использовать кнопку «WIN» наравне со всеми).
(p.s. этот пост — ответ на подзамочную публикацию. Чтобы прочитать её, подпишитесь на блог «эти пользовательские интерфейсы».)
N.B. Друзья, переключение раскладки — всего-лишь один из примеров. Не стоит его принимать близко к сердцу =) Главный вопрос звучит так: «должны ли клавиши-модификаторы и их сочетания быть инертны».
(Иными словами: стоит ли ради сомнительного удобства вызывать какую-либо одну функцию одной клавишей — получать неудобство от использования данной клавиши во всех сочетаниях с ней?)
Имеют ли они право (при нажатии на них) выполнять какое-либо действие?
Я вот считаю, что не имеют. Взять например ALT — он используется в комбинациях клавиш типа ALT+F4 (win) или ALT+F2 (Far), или (прости господи) ALT+SHIFT (rus/lat).
Однако человек может передумать нажимать комбинацию клавиш или нажать клавишу-модификатор случайно. И что же тогда произойдёт? На «безопасных», нормальных клавишах-модификаторах — ничего.
К ним в Windows можно отнести Shift и CTRL. А на «опасных» типа WIN или ALT-а — произойдёт совершеннейшая ерунда: ALT — сменит фокус ввода, переместив курсор в строку меню. WIN — вообще может выкинуть вас из полноэкранного режима приложения, только для того, чтобы радостно показать вам меню «пуск».
Отсюда первое правило клавиатурного пользовательского интерфейса: клавиша-модификатор сама по себе должна быть инертна. (При нажатии на неё ничего не должно происходить.)
Далее, есть ужасное сочетание ALT+SHIFT, которое в некоторых случаях используется в Windows для переключения раскладок клавиатуры. Чем же оно ужасно? если вы промахнулись по SHIFT-у или недостаточно чётко его нажали и он не сработал — сработает одиночный ALT, который изменит фокус ввода и выплюнет вас в строку меню. А так как вы в это время писали текст — вы этого можете не заметить и ваши нажатия в худшем случае могут привести к выполнению каких-либо команд меню, либо просто к неприятному вводу нескольких букв в пустоту.
Сочетание CTRL+SHIFT не особо лучше, так как оно хоть и является «безопасным» и инертным (то есть при несрабатывании той или иной клавиши — ничего не произойдёт), обратная сторона этой «безопасности» — это то, что в фокусе внимания невозможно узнать произошло ли переключение (индикатор рус/лат, как правило находится вне поля зрения во время набивки текста).
А всё почему? Потому что нарушено второе правило: сочетания клавиш-модификаторов друг с другом также должны оставаться инертны (то есть нельзя назначать на сочетания типа CTRL+SHIFT или CTRL+SHIFT+ALT какие либо действия — во-первых потому, что если это действие молчаливое и незаметное — невозможно будет сразу однозначно определить совершилось оно или нет, а во вторых, любое исключение из правила инертности клавиш-модификаторов разрушает ощущение «безопасности»).
Какое сочетание было бы более удачным для переключения раскладки? (раз уж его привели в пример). А вот хотя-бы то же CTRL+Space (или CMD+Space на Mac). Почему оно лучше? 1) используется сочетание безопасной клавиши-модификатора и условно-безопасной клавиши «пробел» (она условно-безопасна при вводе текста — так как знак пробела не портит текст). 2) в случае несрабатывания клавиши-модификатора, мы сразу увидим это — вместо переключения раскладки введётся пробел.
Вобщем, для полного счастья в windows необходимо: 1) сделать все клавиши-модификаторы инертными и избавить, наконец ALT и WIN от этих ужасных побочных действий. 2) отключить все действия назначенные на сочетания клавиш-модификаторов.
И тогда, возможно, управление приложениями (и самой системой) с помощью горячих клавиш — станет удобнее (начнут, наконец, полномасштабно использовать кнопку «WIN» наравне со всеми).
(p.s. этот пост — ответ на подзамочную публикацию. Чтобы прочитать её, подпишитесь на блог «эти пользовательские интерфейсы».)
N.B. Друзья, переключение раскладки — всего-лишь один из примеров. Не стоит его принимать близко к сердцу =) Главный вопрос звучит так: «должны ли клавиши-модификаторы и их сочетания быть инертны».
(Иными словами: стоит ли ради сомнительного удобства вызывать какую-либо одну функцию одной клавишей — получать неудобство от использования данной клавиши во всех сочетаниях с ней?)
Железо → Правый Ctrl на EeePC 701, 900 и 901 (для Windows)
Многие владельцы EeePC сетуют на неудобное расположение правой клавиши Shift. Не знаю, как кому, а мне больше всего не хватает правого Ctrl: ни тебе перемещения курсора по словам (Ctrl+стрелки), ни Ctrl+Enter, ни Ctrl+Ins (привычка со времён ТурбоПаскаля), — для нажатия любой из этих комбинаций приходится использовать обе руки, что неудобно.
JavaScript → Сохранение по Ctrl+S в браузере
Могу ошибаться, но решения данной проблемы на Хабре еще не приводилось, так что позвольте поделиться с вами полезным куском кода. Задача: по нажатию Ctrl+S заблокировать браузерный диалог о сохранении страницы и запустить пользовательскую функцию.
Хабрахабр → Отправка комментария по Ctrl+Enter
После довольно глубокого проникновения мессенджеров на многих сайтах внедряют отправку сообщений и комментариев по Ctrl+Enter.
Я бы хотел видеть подобную функцию на хабарде ;)
Я бы хотел видеть подобную функцию на хабарде ;)