[PATCH libX11] Add double-arrow compose sequence

Gabriel Souza Franco gabrielfrancosouza at gmail.com
Fri Aug 1 07:39:26 PDT 2014


> > >* > Signed-off-by: Gabriel Souza Franco <gabrielfrancosouza at gmail.com <http://lists.x.org/mailman/listinfo/xorg-devel>>
*> >* > ---
*> >* >   nls/en_US.UTF-8/Compose.pre | 1 +
*> >* >   1 file changed, 1 insertion(+)
*> >* >
*> >* > diff --git a/nls/en_US.UTF-8/Compose.pre b/nls/en_US.UTF-8/Compose.pre
*> >* > index 23829b4..4a96570 100644
*> >* > --- a/nls/en_US.UTF-8/Compose.pre
*> >* > +++ b/nls/en_US.UTF-8/Compose.pre
*> >* > @@ -4535,6 +4535,7 @@ XCOMM Part 3
*> >* >   <Multi_key> <KP_Divide> <U2194> 	: "**↮"   U21AE # LEFT
RIGHT ARROW WITH *STROKE
> >* >   <Multi_key> <less> <minus> 	: "**←" U2190 # LEFTWARDS ARROW
*> >* >   <Multi_key> <minus> <greater> 	: "**→" U2192 # RIGHTWARDS ARROW
*> >* > + <Multi_key> <equal> <greater> 	: "**⇒" U21D2 # RIGHTWARDS DOUBLE ARROW
*> >* >   <Multi_key> <U2203> <U0338> 	: "**∄"   U2204 # THERE DOES NOT EXIST
*> >* >   <Multi_key> <braceleft> <braceright>	: "**∅"   U2205 # EMPTY SET
*> >* >   <Multi_key> <U2208> <U0338> 	: "**∉"   U2209 # NOT AN ELEMENT OF
*> > > >* Hmm, it's unfortunate that <less> <equal> is already mapped to
*> >* 	"**≤" U2264 # LESS-THAN OR EQUAL TO
*> >* so we can't have it match for the leftwards double arrow, but I'm
*> >* not seeing any obvious better suggestions for the mapping, unless
*> >* we want to do something like <minus> <minus> <greater> and
*> >* <less> <minus> <minus>, but that seems klunkier.
*> > > >* Anyone else have thoughts or ideas?
*> > > > > I like these sequences to be visually coherent. So I am dubious of
> <Multi_key> <braceleft> <braceright>	: "*∅*"   U2205 # EMPTY SET
> I am fortunate in always working with an APL keyboard in the second xkb group
> so I would have opted for
> <Multi key><U25CB><slash>
> However, most people do not have the luxury of an APL keyboard so something
> else is required. I would suggest:
> <Multi key><0><slash>
>
> For the arrows I would want to tackle a whole group in a consistent manner. It
> might seem a bit left field but how about thinking of the numeric keypad to
> give direction and then we could use
> <Multi key> <equal> <7> : "⇖" U21FF LEFT RIGHT OPEN-HEADED ARROW
> All of the DOUBLE ARROWs and OPEN-HEADED arrows would follow naturally from
> there.
> The single arrows could equally follow using a <minus> as introducer.

I think it would be confusing to input those on a laptop without a
numpad section,
at least the left and right versions should also have the current sequences.

On the other hand, I can't think of another way to have sequences to
the diagonal and
vertical arrows.

> Taking the line drawing characters and composing them with single arrows (I
> have those on APL keyboard) would give U21B0 UPWARDS ARROW WITH TIP LEFTWARDS
> and similar.
>
> I am beginning to think that something more radical is required. The ability
> to compose characters that are themselves the result of compositions. Too
> ambitious? It would give us a route to be able to generate things like U21C5
> UPWARDS ARROW LEFTWARDS OF DOWNWARDS ARROW.

I was thinking something along those lines. Currently there are lots
of sequences
that cannot be entered with a normal keyboard, especially the math
ones. I can't think

of a (general purpose) layout that has "≻" U227B SUCCEEDS so it can be combined
with <U0338> to form "⊁" U2281 DOES NOT SUCCEED.
In my quick sketch, you would press something like Shift+Compose to
enter and exit

an "overstriking" mode. So you could have, for example
  <Shift/Multi_key> <Multi_key> <minus> <8> <Multi_key> <minus> <2>
<Shift/Multi_key>
for ⇅ (using your proposed arrow sequences).

It could also be used as a "greedy" sequence, so even though <less>
<minus> already gives
"←" LEFT ARROW, you could have
  <Shift/Multi_key> <Multi_key> <less> <minus> <greater> <Shift/Multi_key>

      At this point we have "←" on the input ↲
for "↔" LEFT RIGHT ARROW.
Granted, I haven't seen the code yet, so I don't know the feasibility of this.

And yes, I recognize these sequences are getting a bit unwieldy.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.x.org/archives/xorg-devel/attachments/20140801/a4e9ba3b/attachment-0001.html>


More information about the xorg-devel mailing list