Wie Shift + X / Alt + X-Tasten in Flüche zu bekommen?
Frage
Ich bin derzeit mit diesem Code zu greifen Schlüssel Takter, aber ich bin fehle z Umschalttaste / Alt Tasten wie Strg + Umschalttaste + S , Strg + Umschalttaste + ? , Alt + S , etc.
require 'curses'
Curses.noecho
Curses.raw
Curses.stdscr.keypad(true)
Curse.nonl
count = 0
loop do
count = (count + 1) % 20
key = Curses.getch
break if key == ?\C-c
Curses.setpos(count,0)
Curses.addstr("#{key.inspect} ");
end
Gibt es eine Möglichkeit, sie alle zu erfassen?
Auch: Wie kann ich unterscheiden Strg + J / Strg + M von Strg + Enter / Enter , die den gleichen Schlüssel-Codes (10
/ 13
) geben?
Lösung
auch: Wie kann ctrl + j / Strg + m von ctr unterscheiden + Enter / Eingabe, die geben den gleichen Schlüssel-Codes (10/13)
Lange Rede kurzer Sinn - kann man nicht. Das Terminal wird ergeben fast sicher das gleiche Bytes für jeden. Bitte lesen Sie
http://www.leonerd.org.uk/hacks/fixterms/
sagte, dass, wenn Sie das Gefühl besonders mutig, können Sie meinen libtermkey
versuchen
http://www.leonerd.org.uk/code/libtermkey/
, die zumindest richtig Parse Dinge wie Ctrl-arrow
wird. Es ist (noch) nicht haben eine Ruby-Bindung, aber die Anwesenheit von beiden Perl und Python diejenigen würde vorschlagen, es ganz einfach, einen zu schreiben sein sollte.
Schließlich, wenn Sie das Gefühl sogar tapferer Sie das Terminal ich laufen kann schrieb, pangoterm
, die generische Möglichkeiten hat keine beliebig geändert Unicode Schlüssel zu kodieren, so kann es bei gedrückter Strg-m unterscheiden von Enter, etc ...
https://launchpad.net/pangoterm
Doch außerhalb dieser, die Antwort bleibt „Sie können nicht“.