:help key-notation
описывает, какой формат необходимо использовать для сопоставления разных ключей. В случае alt вы можете использовать либо <A-
, либо <M-
. Таким образом, ваше сопоставление будет
map <M-d> <C-d>
. Я также рекомендую использовать вариант nore
:map
(например, noremap
), если вы явно не хотите, чтобы правая сторона была переопределена для сопоставлений.
Вы можете попробовать это для привязки одного ключа к backspace. Он принимает ввод от первого элемента ввода, и нажатая клавиша затем ограничивается клавишей возврата, и только эта клавиша будет функционировать как клавиша возврата
$('#try').bind("binding", function(e) {
alert("Backspace"); //Pop up to see
});
var a;
$('#change').keyup(function(e) {
a = e.keyCode;
$(this).prop('disabled', true);
});
$('#try').keyup(function(e) {
if (e.keyCode == a) {
$(this).trigger("binding"); //will allow the message to be displayed
}
})
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Press the key you want to bind to backspace <input type="text" id="change"><br> Change the input <input id="try" type="text">
По умолчанию для связанного ключа будет Backspace. Вы можете изменить ключ, набрав что-то в первом вводе. Это займет всего один персонаж. Затем, когда эта клавиша будет введена во второе поле ввода, появится сообщение.
Объяснение: Код ключа, введенный в первый ввод, сохраняется в переменной key_code
и используется позже в другом событии key_up для проверки его соответствия
[ 113]
var key_code = 8
$('#changekey').keyup("input", function(e) {
key_code = e.keyCode;
});
$('input').on("binding", function(e) {
alert("Backspace"); //Pop up to see
});
$('#text').keyup(function(e) {
if (e.keyCode == key_code) //8 = backspace
{
$(this).trigger("binding"); //will allow the message to be displayed
}
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
Try it here <input type="text" id="changekey" maxlength = 1 > Change the input <input class type="text" id="text">