Terminal: يكسر Windows Terminal 1.1 إدخال WinCompose

تم إنشاؤها على ٢٧ يوليو ٢٠٢٠  ·  3تعليقات  ·  مصدر: microsoft/terminal

بيئة

Windows build number: 10.0.19041.0
Windows Terminal version (if applicable): 1.1.2021.0

Any other software?
Ubuntu 20.04 LTS (WSL2)
WinCompose v0.9.4 (https://github.com/samhocevar/wincompose/releases/tag/v0.9.4)

خطوات التكاثر

  1. ابدأ WinCompose و Windows Terminal (لا يهم cmd أو بوويرشيل أو WSL)
  2. أدخل أي حرف باستخدام مفتاح إنشاء WinCompose
    على سبيل المثال ، rightAlt + o a

سلوك متوقع


يتم إرسال الحرف الصحيح ("å" في المثال أعلاه) إلى المحطة.

السلوك الفعلي


يبدو أنه لم يتم إرسال أي حرف ، على الأقل لم يتم عرض أي شيء

من المحتمل أن تكون مرتبطة بـ # 6309 حيث أن الإعداد "experimental.input.forceVT": true يعطي السلوك المتوقع.

Area-Input Issue-Bug Needs-Tag-Fix Priority-1 Product-Terminal

التعليق الأكثر فائدة

بقدر ما أستطيع أن أرى ، تم إصلاح هذه المشكلة في # 7900. سأغلق هذه المشكلة في الوقت الحالي لأن WinCompose يعمل بشكل جيد من طرفي مع أحدث إصدار من WT.

الشيء الجيد هو أنني فهمت أخيرًا ، لماذا نتلقى أحداثًا رئيسية غريبة ، تحتوي على رموز مسح ضوئي غير صالحة ، لتطبيقات الطرف الثالث التي تستخدم SendInput : WT لا تستخدم TranslateMessage(Ex) بشكل صحيح. (أعني أن هناك سببًا محددًا جدًا لعدم وجوده ... وهو ضرورة تلقي الأحداث الرئيسية حتى بالنسبة لمفاتيح الشخصيات.)

ال 3 كومينتر

هاه. هذا لا يعمل بالضبط في وحدة التحكم التقليدية أيضًا ، وكان نوعًا من الصدفة أنه يعمل في WT. يجب أن يكون ، رغم ذلك.

هذا ما أحصل عليه إذا ألقيت نظرة خاطفة على الأحداث الرئيسية القادمة من WC إلى وحدة التحكم التقليدية:

v 001 0010 002a 0000 ^@   00000010
^ 001 0010 002a 0000 ^@   00000000
v 001 0000 0000 00f6 �    00000000
^ 001 00e7 0000 00f6 �    00000000
^ 001 004f 0018 006f o    00000000

وإليك ما أتعامل معه:

␛[255;0;0;1;16;1_␛[255;0;0;0;16;1_

أن 255 ليس صحيحًا بالتأكيد

إذن ، كيف يجب على تطبيق جهة خارجية إرسال أحرف Unicode إلى Windows Terminal إذا لم يعد SendInput() يعمل بشكل افتراضي؟

بقدر ما أستطيع أن أرى ، تم إصلاح هذه المشكلة في # 7900. سأغلق هذه المشكلة في الوقت الحالي لأن WinCompose يعمل بشكل جيد من طرفي مع أحدث إصدار من WT.

الشيء الجيد هو أنني فهمت أخيرًا ، لماذا نتلقى أحداثًا رئيسية غريبة ، تحتوي على رموز مسح ضوئي غير صالحة ، لتطبيقات الطرف الثالث التي تستخدم SendInput : WT لا تستخدم TranslateMessage(Ex) بشكل صحيح. (أعني أن هناك سببًا محددًا جدًا لعدم وجوده ... وهو ضرورة تلقي الأحداث الرئيسية حتى بالنسبة لمفاتيح الشخصيات.)

هل كانت هذه الصفحة مفيدة؟
0 / 5 - 0 التقييمات