Skip to content

Commit 77e7219

Browse files
authored
Merge pull request #1461 from vim-jp/hh-update-gui_win32
Update gui_win32.{txt,jax}
2 parents 8497eb2 + df75710 commit 77e7219

File tree

2 files changed

+68
-2
lines changed

2 files changed

+68
-2
lines changed

doc/gui_w32.jax

Lines changed: 33 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*gui_w32.txt* For Vim バージョン 9.1. Last change: 2022 Mar 09
1+
*gui_w32.txt* For Vim バージョン 9.1. Last change: 2024 Jan 23
22

33

44
VIMリファレンスマニュアル by Bram Moolenaar
@@ -455,4 +455,36 @@ github から vim16x16.xpm ファイルを入手する必要があるかもし
455455
https://github.com/vim/vim/blob/master/runtime/vim16x16.xpm
456456

457457

458+
キーコード変換戦略 *w32-experimental-keycode-trans-strategy*
459+
460+
Patch v8.2.4807 で、W32 の GVIM は、より多くのキーボードショートカットを使用で
461+
きるようにすること、特に非標準のキーボードレイアウトをサポートすることを目的と
462+
して、実験的なキーコード変換方法に変更された。このサポートを実装するために、
463+
Win API TranslateMessage() 呼び出しは削除され、代わりにキーコードの認識が
464+
ToUnicode() Win API 呼び出しに切り替えられた。このアプローチにより、多数の特殊
465+
なケースが明らかになったが、これらは明らかに TranslateMessage() 実装によってカ
466+
バーされており、それぞれ個別に対処する必要がある。したがって、当面はこの機能を
467+
実験的であると宣言し、「古典的」キーコード変換方法をデフォルトとして再び復活さ
468+
せることが決定された。
469+
470+
「実験的」キーコード変換方法の使用に関する議論は、おそらくまだしばらく続くだろ
471+
う。それまでの間、W32 GVIM で「古典的」キーコード変換方法に戻るこの変更の影響
472+
を受ける場合は、次のスニペットを使用して vimrc で「実験的」変換方法を再度有効
473+
にすることができる。
474+
>
475+
:call test_mswin_event('set_keycode_trans_strategy', {'strategy': 'experimental'})
476+
<
477+
同様に、「古典的」キーコード変換方法を元に戻す必要がある場合 (例えば、テスト目
478+
的など)、以下を使用する:
479+
>
480+
:call test_mswin_event('set_keycode_trans_strategy', {'strategy': 'classic'})
481+
<
482+
あるいは (この方法は、test_mswin_event() を呼び出すことができない TINY GVIM ビ
483+
ルドのために特に役立つ)、環境変数 VIM_KEYCODE_TRANS_STRATEGY を目的の値
484+
("experimental" または "classic") に設定し、デフォルトをオーバーライドすること
485+
もできる。例えば、dos プロンプトに以下のように入力する:
486+
>
487+
set VIM_KEYCODE_TRANS_STRATEGY=experimental
488+
gvim.exe
489+
<
458490
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

en/gui_w32.txt

Lines changed: 35 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*gui_w32.txt* For Vim version 9.1. Last change: 2022 Mar 09
1+
*gui_w32.txt* For Vim version 9.1. Last change: 2024 Jan 23
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -454,4 +454,38 @@ You may need to get the vim16x16.xpm file from github:
454454
https://github.com/vim/vim/blob/master/runtime/vim16x16.xpm
455455

456456

457+
Keycode translation strategy *w32-experimental-keycode-trans-strategy*
458+
459+
In Patch v8.2.4807 W32 GVIM was changed over to experimental keycode
460+
translation method with the aim to be able to use more keyboard shortcuts and
461+
especially supporting non-standard keyboard layouts. In order to implement
462+
this support Win API TranslateMessage() call was dropped, and instead the
463+
recognition of keycode was changed over to ToUnicode() Win API call. This
464+
approach uncovered numerous corner cases, which are apparently covered by
465+
TranslateMessage() implementation, each of it is necessary to be dealt with on
466+
an individual basis. Therefore the decision was taken to declare this
467+
functionality experimental for the time being and to recover "classic" keycode
468+
translation method as default again.
469+
470+
Discussion about use of "experimental" keycode translation method will
471+
probably last some time yet. In the meantime, if you are impacted by this
472+
change over back to "classic" keycode translation method in W32 GVIM, you can
473+
enable "experimental" translation method again in your vimrc using following
474+
snippet:
475+
>
476+
:call test_mswin_event('set_keycode_trans_strategy', {'strategy': 'experimental'})
477+
<
478+
Similarly, in case you need to turn back "classic" keycode translation method
479+
(for example for testing purposes), please use:
480+
>
481+
:call test_mswin_event('set_keycode_trans_strategy', {'strategy': 'classic'})
482+
<
483+
Alternatively (this method is especially useful for the TINY GVIM build, where
484+
test_mswin_event() cannot be called), an environment variable
485+
VIM_KEYCODE_TRANS_STRATEGY can be set to the desired value ("experimental" or
486+
"classic"), to override the default, e.g., type in dos prompt:
487+
>
488+
set VIM_KEYCODE_TRANS_STRATEGY=experimental
489+
gvim.exe
490+
<
457491
vim:tw=78:sw=4:ts=8:noet:ft=help:norl:

0 commit comments

Comments
 (0)