|
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 |
2 | 2 |
|
3 | 3 |
|
4 | 4 | VIM REFERENCE MANUAL by Bram Moolenaar
|
@@ -454,4 +454,38 @@ You may need to get the vim16x16.xpm file from github:
|
454 | 454 | https://github.com/vim/vim/blob/master/runtime/vim16x16.xpm
|
455 | 455 |
|
456 | 456 |
|
| 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 | +< |
457 | 491 | vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
|
0 commit comments