Ключ Office - це новий ключ, який ви знайдете на клавіатурах Microsoft. Він дозволяє швидко запускати програми, такі як Word, але ви можете перепризначити його за допомогою AutoHotkey, щоб він діяв як додаткова клавіша-модифікатор або взагалі відключив ярлики додатків.
Що таке ключ від офісу?
Ви знайдете цей ключ на нових клавіатурах Microsoft, випущених після 15 жовтня. Можливо, ви також чули про виділений ключ смайликів, доданий Microsoft; слот для обох клавіш знаходиться там, де раніше знаходилися права клавіша Windows і клавіша меню, між правим Alt і правим управлінням:
З коробки ключ Office відкриває додаток Office і має кілька гарячих клавіш для відкриття певних програм Microsoft. Існують основні гарячі клавіші, такі як Office + W і Office + X для відкриття Word і Excel, але є і більш неясні - Office + L, Office + T і Office + Y, що відкривають LinkedIn, Microsoft Teams і Yammer.
Ключ Office надсилає Shift + Control + Alt + Windows
Це зручно, але ви можете подумати, що це новий ключ, створений Microsoft, схожий на ключ Windows. Але Microsoft піклується про зворотну сумісність, і винайти абсолютно новий ключ було б непросто, тому потрібен був швидкий шлях.
Можливо, ви чули про «гіпер» ключ. Hyper був старим ключем-модифікатором з тих пір, коли він використовувався на клавіатурі Space-cadet для машин Lisp. Це практично копалина. Ви не знайдете його на будь-якій сучасній клавіатурі, і він не підтримується в жодній з існуючих ОС. Але назва це круто, і вона використовувалася як термін для прихованої клавіші-модифікатора, яка не використовується ніякими додатками.
Зараз Hyper-ключ емулюється комбінацією кожної клавіші-модифікатора. У macOS це відповідає Shift + Control + Option + Command. У Windows Гіпер-ключ емулюється поєднанням клавіш Shift + Control + Alt + Windows.
Ідея цього зіставлення полягає в тому, що жоден UX-дизайнер не буде настільки божевільним, щоб спроектувати додаток, що вимагає, щоб користувач натискав всі чотири клавіші-модифікатора одночасно. По суті, це дає вам цілу суму клавіш-модифікаторів, щоб ви могли зв'язати їх так, як вам хочеться, і це здорово.
Або, принаймні, так було - в оновленні від Windows 10 від травня 2019 року Microsoft додала попередню підтримку ОС для ключа Office до його публікації. Вгадайте, з чим пов'язаний ключ Office?
Це Гіпер. Замість реалізації нового ключа ключ Office діє як всі чотири клавіші-модифікатора. Ключ емодзі насправді не сам ключ; він відображається на ярлик Office + Space, який ви можете натиснути на себе, щоб відкрити засіб перегляду смайликів. (Ви можете натиснути Windows +. Або Windows +; щоб відкрити панель Emoji.)
Було б чудово мати виділену клавішу Hyper на клавіатурі. Більшість людей повторно використовують Caps Lock, але ключ Office замінить марну клавішу Right Windows і перетворить її на щось корисне. На жаль, з 27 доступних буквених клавіш і пробілу 10 з них використовуються поєднаннями клавіш Office, і Microsoft може додати в майбутньому більше. Зараз немає вбудованого способу відключити ці ярлики. Там немає параметрів у налаштуваннях, немає налаштування реєстру, і немає групової політики.
Природно, той факт, що ви більше не можете натискати Hyper + Y без переходу на маркетингову сторінку Yammer, дуже засмутив користувачів Hyper. Є декілька параметрів, які ви можете зробити самостійно, щоб перепризначити клавішу або взагалі вимкнути ярлик. Перш ніж ми почнемо роботу з AutoHotkey, необхідно включити одне налаштування реєстру, виконавши наступну команду в PowerShell. Клацніть правою клавішею миші на кнопці «Пуск» та виберіть «PowerShell», щоб відкрити її:
REG ADD HKCU\Програмне забезпечення\Класи\ms-officeapp\Shell\Open\Command/t REG_SZ/d rundll32
Зазвичай, коли ви натискаєте Office самостійно, вона відкриває програму Office. Це змінює розташування відкриття, запобігаючи запуску програми під час кожного натискання клавіші. На жаль, у реєстрі немає нічого схожого, що дозволяло б відключати гарячі клавіші для конкретних додатків, тому вам доведеться перепризначати їх вручну. Якщо ви знайдете спосіб вимкнути ярлики для програм з реєстру, повідомте нам про це в коментарях, і ми оновимо цю статтю.
Як перепризначити ключ Office за допомогою AutoHotKey
AutoHotkey - програма для перепризначення клавіш клавіатури на певні дії. Він може зробити набагато більше, але в цьому випадку ми дійсно хочемо використовувати його тільки для видалення ключа Windows з поєднань клавіш Office.
AutoHotkey встановлює низькорівневий хук клавіатури, який перехоплює події клавіатури до того, як інша частина системи отримує їх. Якщо він відповідає налаштованій гарячій клавіші, подія перехоплюється AutoHotkey. Потім AutoHotkey може надсилати свої власні змінені події клавіатури. Однак це не дозволяє відправити гарячу клавішу Shift + Control + Alt + Win + W, оскільки це все одно викличе ярлик Word. Однак ви можете надіслати Shift + Control + Alt + W Це все ще досить громіздко, щоб вважатися гіпер-клавішею, яку ви зазвичай не натискаєте, хоча вам доведеться перевірити, щоб переконатися, що ваші програми її не використовують.
Наступний скрипт перепризначить Office + W на Shift + Control + Alt + W Просто збережіть текст як скрипт AutoHotKey і запустіть його:
#NoEnv; Рекомендується для продуктивності і сумісності з майбутніми випусками AutoHotkey.
SetWorkingDir% A_ScriptDir%; Забезпечує узгоджений початковий каталог.
#UseHook
#InstallKeybdHook
#SingleInstance force
Ввод SendMode
# ^! + W::
Надіслати ! + W
повернення
Послідовність символів «# ^! +» Є скороченням AutoHotkey для Windows, Control, Alt і Shift, відповідно. Цей сценарій відповідає Office + W і надсилає назад виправлену послідовність, яка вирішує проблему відкриття Word.
Звичайно, вам також потрібно перепризначити інші ключі, T, Y, O, P, D, L, X, N і Space, тому повний сценарій набагато довший:
#NoEnv; Рекомендується для продуктивності і сумісності з майбутніми випусками AutoHotkey.
SetWorkingDir% A_ScriptDir%; Забезпечує узгоджений початковий каталог.
#UseHook
#InstallKeybdHook
#SingleInstance force
Ввод SendMode
# ^! + W::
Надіслати ^! + W
повернення
# ^! + T::
Надіслати ^! + T
повернення
# ^! + Y::
Надіслати ^! + Y
повернення
# ^! + O::
Надіслати ^! + O
повернення
# ^! + P::
Надіслати ^! + P
повернення
# ^! + D::
Надіслати ^! + D
повернення
# ^! + L::
Надіслати ^! + L
повернення
# ^! + X::
Надіслати ^! + X
повернення
# ^! + N::
Надіслати ^! + N
повернення
# ^! + Space::
Надіслати ^! + Пробіл
повернення
Ви можете використовувати виправлені гарячі клавіші для кожного з десяти ключів, які використовує ключ Office, але ви зможете використовувати повний Гіпер ключ для кожного невикористовуваного ключа. Ви також можете зіставити ці гарячі клавіші з функціями AHK, щоб у вас була повна свобода над ними, якщо ви обробляєте їх яким-небудь чином, щоб додаток Office не відкривався.
Це рішення, ймовірно, досить добре для більшості людей, поки Microsoft не вирішить дозволити його відключення (якщо взагалі коли-небудь). Але якщо ви дійсно хочете повністю відключити ярлики додатків Office, є хакерське рішення.
Як повністю вилучити ключові ключі Office
Попередження: наступне трохи потворний зламати. Це рішення дійсно тільки для досвідчених користувачів, тому, якщо ви не знаєте, що робите, використовуйте рішення AutoHotkey.
Але якщо ви хочете використовувати комбінацію клавіш Shift-Control-Alt-Win в якості гіпер-клавіші і хочете, щоб Microsoft взагалі ніколи не додавала гарячі клавіші Office, є рішення, яке вирішує проблему повністю.
У Windows загальносистемні гарячі клавіші повинні бути зареєстровані в операційній системі за допомогою системної функції RegisterHotKey. Під капотом гарячі клавіші Office Key реєструються таким чином в Explorer, процесі, який відповідає за ваш робочий стіл, панель завдань і File Explorer. Це невід'ємна частина Windows, тому має сенс зареєструвати гарячі клавіші тут; Клавіші, створені за допомогою RegisterHotKey, буде автоматично скасовано після закриття процесу, який їх зареєстрував. Оскільки Провідник завжди відкритий, гарячі клавіші будуть постійними.
Наша перша думка - перевизначити гарячі клавіші Office, зареєструвавши свої власні. Але якщо ви створите програму, яка запускає RegisterHotKey, ви виявите, що вона не буде працювати. Ви не можете зареєструвати гарячі клавіші, які вже були зареєстровані іншою програмою.
Однак при виході з програми вони автоматично скасовують реєстрацію своїх гарячих клавіш. Це означає, що якщо ви можете закрити програму, яка зареєструвала гарячі клавіші, ви можете відключити їх. На жаль, закриття Провідника не дуже життєздатне рішення, оскільки ви застрягли б без працездатного комп'ютера. І якщо ви перезапустите провідник, він перереєструє гарячі клавіші при запуску.
Таким чином, це рішення працює наступним чином: програма виправлення клавіш Office закриває провідник, який звільняє гарячі клавіші для перезапису. Потім він реєструє кожну гарячу клавішу, пов'язану з ключем Office, яку ми хочемо відключити, і перезапускає Провідник. Коли Провідник запускається знову, він намагається зареєструвати гарячі клавіші Office, як зазвичай, але блокується, тому що наша програма вже зареєструвала їх. Він намагається це зробити тільки при запуску, тому все, що нам потрібно зробити, це почекати кілька секунд, а потім вийти з програми. Це скасовує реєстрацію гарячих клавіш у процесі, що дозволяє використовувати їх іншими програмами.
Це рішення чудово працює і дозволяє фактичній клавіші Office або емульованій клавіші Hyper використовувати всі поєднання клавіш без ризику відкриття випадкових програм Microsoft. Він повністю відключає гарячі клавіші Office. Explorer навіть не отримує повідомлення, коли ви натискаєте ці комбінації клавіш.
Єдиним недоліком є те, що, оскільки ми перезапускаємо провідник, коли ця програма запускається при запуску, вона буде блимати на робочому столі чорного кольору за долі секунди до перезапуску. Це не супер нав'язливо, але цього достатньо, щоб помітити. Якщо ваш комп'ютер завантажує завантажувальні програми за секунду, він закриє всі відкриті вікна провідника. Плюс в тому, що ви можете бути спокійні, знаючи, що ви 1-0 в боротьбі з відділом маркетингу Microsoft за контроль над клавіатурою.
У будь-якому випадку скрипт - це відносно короткий шматочок C++:
# include < windows.
h > # include < std
io.h > # include <
thread > # includ
e < chrono > # inclu
de < iostream > int main (int argc, wch
ar
_t * argv
[]) UINT наступаючі ключі [10] = {0x57, 0x54, 0x59, 0x4F, 0x50, 0x44, 0x4C, 0x58, 0x4
E, 0x20} ;//Kill E
xplorer система ("" taskkill/IM explorer.exe/F
") ;//Реєстрація гарячої клавіші
для (int i = 0; i <10; i++) {
RegisterHotKey (NULL, i, 0x1 + 0x2 + 0x4 + 0x8 | MOD_NOREPEAT, образливі ключі [i]); }/
/Перезапустити
провідник ("запуск
C: / Windows/explorer.exe ") ;/* Проспати
кілька секунд, щоб переконатися, що Explorer встигає спробувати
зареєструвати гарячі клавіші Office і заблокувати наші гарячі
клавіші */ :: this_threa
d:: ( :: хроно:: мілісекунди (4000)) ;//зняття з реєстрації
гарячих клавіш за ID для (int i = 0; i <10;
i++) {UnregisterHotKey (NULL, i)
;} повернення 1;}
Ви також можете знайти його тут на GitHub. Вам доведеться скомпілювати його самостійно, але в будь-якому випадку ви не повинні запускати випадкові виконувані файли, які ви знайдете в Інтернеті. Якщо у вас є двійковий файл, помістіть його в C:Prog^ Data\Microsoft\Windows\Start Menu\Programs\Startup, щоб він запускався після завантаження вашого комп'ютера.
Виконувані файли, розміщені в теці автовантаження, відкриваються небагато, тому програма, ймовірно, запуститься через 5-10 секунд після того, як ви побачите робочий стіл. Він закриє всі вікна File Explorer, які ви відкрили, але не закриє інші програми, такі як Chrome.
Якщо хтось, хто читає це, знає спосіб заборонити Explorer реєструвати гарячі клавіші без його перезапуску - або якщо є можливість скасувати реєстрацію гарячих клавіш, створених іншим потоком, - не соромтеся повідомити нам про це в коментарях.
