2016-10-12 3 views
1

В моей школе панель управления Windows заблокирована, и я разрешаю использовать стандартный немецкий макет QWERTZ, который я не могу коснуться. С согласия моего учителя я могу использовать программу или скрипт для имитации макета QWERTY, к которому я привык. Это то, что я до сих пор:Имитировать QWERTY на QWERTZ со сценарием

y::z 
z::y 
-::Sendraw/
+-::Sendraw ? 
+::Sendraw ] 
*::SendRaw } 
+2::SendRaw @ 
+3::SendRaw # 
+6::Send {^}{Space} 
+7::SendRaw & 
+8::SendRaw * 
+9::SendRaw (
+0::SendRaw) 
ß::SendRaw - 
+ß::SendRaw _ 
´::Send {U+003D} 
+´::SendRaw + 
ö::Send {U+003B} 
+ö::SendRaw : 
ä::SendRaw ' 
+ä::SendRaw " 
ü::SendRaw [ 
+ü::SendRaw { 

Большинство вещей работает хорошо, за исключением Shift + 7, 8, 9, 0 и '

  • Shift + 8, 9 или 0 все продукты}
  • Shift + 7 производит^
  • Shift + 'производит]
  • Минус производит^
  • Shift + - выдает ошибку переполнения.

Извлечь нажатые клавиши по unicode невозможно из того, что я понимаю.

Что я делаю неправильно? Возможно, вы знаете программу, которая делает именно это, поэтому я могу просто оставить все это?

+0

Кажется, что инструкции поставлены в очередь, например. вы нажимаете Shift + 8, который отображается на '*', который отображается на '}'. Может быть, вы не должны использовать 'SendRaw' здесь, так как сырые ключевые события интерпретируются снова? –

+0

Как вы думаете, команда 'Send' решит его? – kim366

+1

вы можете попробовать префикс '' 'для горячих клавиш. не уверен, что это все решит – Blauhirn

ответ

0
y::z 
z::y 
-::Send {U+002F}  ;/
+-::Send {U+003F}  ; ? 
+::Send {U+005D}  ; ] 
*::Send {U+007D}  ; } 
+2::Send {U+0040}  ; (
+3::Send {U+0023}  ; # 
+6::Send {U+005E}{Space};^
+7::Send {U+0026}  ; & 
+8::Send {U+002A}  ; * 
+9::Send {U+0028}  ; (
+0::Send {U+0029}  ;) 
ß::Send {U+002D}  ; - 
+ß::Send {U+005F}  ; _ 
´::Send {U+003D}  ; = 
+´::Send {U+002B}  ; + 
ö::Send {U+003B}  ; ; 
+ö::Send {U+003A}  ; : 
ä::Send {U+0027}  ; ' 
+ä::Send {U+0022}  ; " 
ü::Send {U+005B}  ; [ 
+ü::Send {U+007B}  ; { 
^::Send {U+0060}  ; ~ 
+°::Send {U+007E}  ; ` 
#::Send {U+005C}  ; \ 
+'::Send {U+007C}  ; | 

Вам просто нужно использовать символы юникода в качестве вывода.

Смежные вопросы