Как я могу наиболее легко определить ключевые символы необычных клавиш на моей клавиатуре, в Ruby, с помощью Tk?

#ruby #tk #keyboard-events

#ruby #tk-toolkit #клавиатура-события

Вопрос:

Я использую Ruby и Tk. Я хочу знать ключевые символы различных нечетных клавиш на моей необычной клавиатуре. Я хочу знать, каковы они на самом деле, а не просто то, что говорит какая-то ссылка (например, эта), что они должны быть.

Ответ №1:

Этот код работал для меня с использованием Ruby 2.2.5 (с Tk 8.5.12) в Windows 7:

 # coding: utf-8

require 'tk'

def lambda_keypress
  @lambda_keypress ||= Kernel.lambda do |key_code, key_symbol|
    puts "lambda_keypress invoked with keycode #{key_code} and keysym #{key_symbol}."
  end
end

def root
  $root ||= begin
    Tk::Encoding.encoding = ''.encoding
    TkRoot.new
  end
end

root.bind :KeyPress, lambda_keypress, '%k %K'
Tk.mainloop