[BRLTTY] changing screen windows
Dave Mielke
Dave at mielke.cc
Mon Jul 30 15:38:05 EDT 2018
[quoted lines by Dave Mielke on 2018/07/30 at 15:06 -0400]
>The help for the Braille Edge includes:
>
>* switch to specific virtual terminal: Space+F5, RoutingKey
>* switch to the previous virtual terminal: Space+Dots12367
>* switch to the next virtual terminal: Space+Dots12368
>
>The problem seems to be that the Screen screen driver doesn't currently
>implement the needed method. This should be easy to fix.
Could you please test the attached patch (screen-switch-1.patch) to verify that
these three bindings work?
--
I believe the Bible to be the very Word of God: http://Mielke.cc/bible/
Dave Mielke | 2213 Fox Crescent | WebHome: http://Mielke.cc/
EMail: Dave at Mielke.cc | Ottawa, Ontario | Twitter: @Dave_Mielke
Phone: +1 613 726 0014 | Canada K2A 1H7 |
-------------- next part --------------
diff --git a/Drivers/Screen/Screen/screen.c b/Drivers/Screen/Screen/screen.c
index 3f926949f..d1bbf2f20 100644
--- a/Drivers/Screen/Screen/screen.c
+++ b/Drivers/Screen/Screen/screen.c
@@ -283,6 +283,13 @@ insertKey_ScreenScreen (ScreenKey key) {
return doScreenCommand("stuff", sequence, NULL);
}
+static int
+switchVirtualTerminal_ScreenScreen (int vt) {
+ char number[0X10];
+ snprintf(number, sizeof(number), "%d", vt);
+ return doScreenCommand("select", number, NULL);
+}
+
static void
destruct_ScreenScreen (void) {
#ifdef HAVE_SHMGET
@@ -309,6 +316,7 @@ scr_initialize (MainScreen *main) {
main->base.describe = describe_ScreenScreen;
main->base.readCharacters = readCharacters_ScreenScreen;
main->base.insertKey = insertKey_ScreenScreen;
+ main->base.switchVirtualTerminal = switchVirtualTerminal_ScreenScreen;
main->construct = construct_ScreenScreen;
main->destruct = destruct_ScreenScreen;
main->userVirtualTerminal = userVirtualTerminal_ScreenScreen;
More information about the BRLTTY
mailing list