baum: Add copy/paste bindings
Brltty interprets - TL1 (i.e. Display1) + routing as clip new - TL2 (i.e. Display2) + routing as clip add - TR1 (i.e. Display4) + routing as copy line - TR2 (i.e. Display5) + routing as copy rect https://github.com/brltty/brltty/blob/master/Tables/Input/bm/routing6.kti - BAUM_TL1+BAUM_TL2+BAUM_TL3+BAUM_TR1 (i.e. Display1+Display2+Display3+Display4) as paste https://github.com/brltty/brltty/blob/master/Tables/Input/bm/d6.kti Signed-off-by: Samuel Thibault <samuel.thibault@ens-lyon.org> [ Marc-André - style fixes ] Signed-off-by: Marc-André Lureau <marcandre.lureau@redhat.com> Message-ID: <20260213000551.2446777-1-samuel.thibault@ens-lyon.org>
This commit is contained in:
committed by
Marc-André Lureau
parent
b108dcbebc
commit
98ba0e4797
@@ -1,7 +1,7 @@
|
|||||||
/*
|
/*
|
||||||
* QEMU Baum Braille Device
|
* QEMU Baum Braille Device
|
||||||
*
|
*
|
||||||
* Copyright (c) 2008, 2010-2011, 2016-2017 Samuel Thibault
|
* Copyright (c) 2008, 2010-2011, 2016-2017, 2026 Samuel Thibault
|
||||||
*
|
*
|
||||||
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
* Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
* of this software and associated documentation files (the "Software"), to deal
|
* of this software and associated documentation files (the "Software"), to deal
|
||||||
@@ -561,9 +561,38 @@ static void baum_chr_read(void *opaque)
|
|||||||
case BRLAPI_KEY_TYPE_CMD:
|
case BRLAPI_KEY_TYPE_CMD:
|
||||||
switch (code & BRLAPI_KEY_CMD_BLK_MASK) {
|
switch (code & BRLAPI_KEY_CMD_BLK_MASK) {
|
||||||
case BRLAPI_KEY_CMD_ROUTE:
|
case BRLAPI_KEY_CMD_ROUTE:
|
||||||
baum_send_key(baum, BAUM_RSP_RoutingKey, (code & BRLAPI_KEY_CMD_ARG_MASK)+1);
|
baum_send_key(baum, BAUM_RSP_RoutingKey,
|
||||||
|
(code & BRLAPI_KEY_CMD_ARG_MASK) + 1);
|
||||||
baum_send_key(baum, BAUM_RSP_RoutingKey, 0);
|
baum_send_key(baum, BAUM_RSP_RoutingKey, 0);
|
||||||
break;
|
break;
|
||||||
|
case BRLAPI_KEY_CMD_CLIP_NEW:
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL1);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey,
|
||||||
|
(code & BRLAPI_KEY_CMD_ARG_MASK) + 1);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey, 0);
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, 0);
|
||||||
|
break;
|
||||||
|
case BRLAPI_KEY_CMD_CLIP_ADD:
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL2);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey,
|
||||||
|
(code & BRLAPI_KEY_CMD_ARG_MASK) + 1);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey, 0);
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, 0);
|
||||||
|
break;
|
||||||
|
case BRLAPI_KEY_CMD_COPY_LINE:
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TR1);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey,
|
||||||
|
(code & BRLAPI_KEY_CMD_ARG_MASK) + 1);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey, 0);
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, 0);
|
||||||
|
break;
|
||||||
|
case BRLAPI_KEY_CMD_COPY_RECT:
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TR2);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey,
|
||||||
|
(code & BRLAPI_KEY_CMD_ARG_MASK) + 1);
|
||||||
|
baum_send_key(baum, BAUM_RSP_RoutingKey, 0);
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, 0);
|
||||||
|
break;
|
||||||
case 0:
|
case 0:
|
||||||
switch (code & BRLAPI_KEY_CMD_ARG_MASK) {
|
switch (code & BRLAPI_KEY_CMD_ARG_MASK) {
|
||||||
case BRLAPI_KEY_CMD_FWINLT:
|
case BRLAPI_KEY_CMD_FWINLT:
|
||||||
@@ -606,6 +635,11 @@ static void baum_chr_read(void *opaque)
|
|||||||
baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL1|BAUM_TL3|BAUM_TR1);
|
baum_send_key(baum, BAUM_RSP_TopKeys, BAUM_TL1|BAUM_TL3|BAUM_TR1);
|
||||||
baum_send_key(baum, BAUM_RSP_TopKeys, 0);
|
baum_send_key(baum, BAUM_RSP_TopKeys, 0);
|
||||||
break;
|
break;
|
||||||
|
case BRLAPI_KEY_CMD_PASTE:
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys,
|
||||||
|
BAUM_TL1 | BAUM_TL2 | BAUM_TL3 | BAUM_TR1);
|
||||||
|
baum_send_key(baum, BAUM_RSP_TopKeys, 0);
|
||||||
|
break;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
break;
|
break;
|
||||||
|
|||||||
Reference in New Issue
Block a user