В назначенных по умолчанию сочетаниях клавиш в источнике st
используетсяXK_V
(заглавная буква ).
{ TERMMOD, XK_C, clipcopy, {.i = 0} },
{ TERMMOD, XK_V, clippaste, {.i = 0} },
{ TERMMOD, XK_Y, selpaste, {.i = 0} },
Попробуйте изменить строчные буквы XK_v
обратно на (, сохранив при этом новое значениеTERMMOD
).
XK_v
и XK_V
определены как 0x76 и 0x56 во включаемом файле X11 keysymdef.h
. Они считаются разными нажатиями клавиш. Вы можете проверить это с помощью инструмента xev
:
.
Без Сдвиг:
KeyRelease event, serial 47, synthetic NO, window 0x4c00001,
root 0x4cf, subw 0x0, time 433723403, (134,121), root:(1235,171),
state 0x0, keycode 55 (keysym 0x76, v), same_screen YES,
XLookupString gives 1 bytes: (76) "v"
XmbLookupString gives 1 bytes: (76) "v"
XFilterEvent returns: False
При удерживании Shift тот же keycode
приводит к другому keysym
.
KeyPress event, serial 47, synthetic NO, window 0x4c00001,
root 0x4cf, subw 0x0, time 433724571, (134,121), root:(1235,171),
state 0x1, keycode 55 (keysym 0x56, V), same_screen YES,
XLookupString gives 1 bytes: (56) "V"
XmbLookupString gives 1 bytes: (56) "V"
XFilterEvent returns: False
Когда вы используете XK_v
в сочетании с TERMMOD
, а TERMMOD
содержит ShiftMask
, вы сообщаете st
, что хотите вставить, когда принимается строчная буква v , в то время как Shift нажата. Но когда вы удерживаете Shift , X-сервер вместо этого отправляет клавишу V в верхнем регистре. Это не то, что искал st
, поэтому он ничего не делает.
И Debian, и Ubuntu всегда использовали пакеты DEB. Единственное известное мне изменение произошло в Debian 0.93, где изменился формат пакета DEB, см. deb -старую справочную страницу .