@reiver

Using Arrow Characters

Arrows are a very useful symbol to use.

(Some arrow characters are shown in figure 1. A more comprehensive list of arrow characters is shown in figure 10.)

Description Arrow Character
Left arrow
Up arrow
Right arrow
Down arrow
Figure 1. A list of 4 arrow characters which correspond to the 4 different kinds of arrows that are found on typical Engilsh language keyboards.

I could use them when writing math, as in figure 2.

f: ℕ
Figure 2. A function f that maps the domain to the range .

I could use them in programming languages, as shown in figure 3.


var c chan string = make(chan string)

c ← "hello"

x := ←c

Figure 3. Example pseudo-Go code using a character instead of the <- characters, as channel related operators.

I could even use them on the command line, as in figure 4.


cat LOGS.txt → grep 'ERROR' → awk '{print $2}'

Figure 4. Example pseudo-bash bash code using the instead of the | (pipe) character, for piping. (BTW, the original pipe character was not the | character, but instead was the ^ character.)

Also, I could use them in regular English text, as in figure 5.

Hello world. I went from Vancouver to Seattle. I.e., Vancouver → Seattle. I.e., Seattle ← Vancouver.

Figure 5. Example English text using the and characters to express to-from expressions.

I could even use them for creating diagrams, as in figure 6.


0 → 1
↑   ↓
3 ← 2

Figure 6. Example diagram using 4 arrow characters: , , , .

I am sure others can come up with more creative uses.

Restrictions from Keyboards

In some ways, the keyboards we use restrict our expressibility in terms of the symbols and glyphs we use.

In the part of the world I live in, typical computer keyboards have a limited number of symbols.

Figure 7. A keyboard similar layout very similar to what I have been using over the years. (Although my keyboards have never had the AltGr key.) Image Credit: Oona Räisänen

When I write with pen or pencil on paper, I don't really have this kind of restriction. (There is a lot more that could be said about this. Such as input other than from keyboard. But this isn't the place for it.)

While you can sometimes work around these keyboard restriction with varying degress of success, having more symbols and glyphs available can be better, in terms of expressiveness.

Arrow Keys on Keyboards

I think every keyboard I have every used has had arrow keys on them. I believe that if you look at typical English language keyboard you will see arrow keys, something like those shown in figure 7 and figure 8.

Figure 7. Arrow keys similar in shape to those found on most keyboards I have used (including the one I am using as I type this text).
Figure 8. Arrow keys on a laptop keyboard.

But, when the arrow keys are usable, in every application I remember using them in, the arrow keys are special keys that have a control functionality.

The arrow keys are often used move a cursor around when typing and editing text. They are also often used to navigate through menus. Also they are used for (both horizontal and vertical) scrolling. And sometimes they are use in video games to move a game character around in the game's virtual world.

I have never seen the arrow keys generate arrow characters when pressing them. (I.e., they do not generate the , , and characters.)

But they could! (And they could do this without loosing the ability to use them to move the the cursor, scrolling, etc.)

Modifier Keys

It is probably a bad idea to make the arrow keys generate arrow characters (, , and ) when they are pressed by themselves.

Being able to move the cursor with the arrow keys when editing text is important in terms of usability. The same it true for their usage in scrolling, menu navigation, etc.

But, we have key combinations avaialble to use. For example, what if pressing the Alt+ keys (together) generated the character.

Really though, we have a number of possibilities available to us, to use for key combinations with the arrow keys.

Namely, the Alt, Ctrl, and Shift keys. Other keyboards may have other keys like these; for example, some keyboards have a AltGr key. But I believe there are others too.

Collectively these are called modifier keys.

Using the Arrow Keys to Generate Arrow Characters

One way to use the arrow keys to generate arrow characters (, , and ), while still being able to use the arrow keys to move around the cursor when editing text, scrolling, etc is to combine an arrow key press with one or more modifier keys.

For example, perhaps pressing the Alt+ keys generates the character.

(Although, really, it doesn't have to be Alt+ keys. It could be Ctrl+Shift+ keys if you wanted. Etc.)

(But, whatever you choose) the same would be done for all the arrow characters.

So (sticking with our original example), we could generate all the 4 arrow characters we mentioned with the following key combinations shown in figure 9.

Key Combination Generated Character
Alt+
Alt+
Alt+
Alt+
Figure 9. One possible method of using the arrow keys with (one or more) modifier keys to generate arrow characters.

It is not difficult to make this happen is software.

More Arrow Characters

Beyond the 4 arrow characters we have been talking about (, , and ) there are actually other arrow characters!

The list is shown in figure 10.

Description Arrow Character
Left arrow
Up arrow
Right arrow
Down arrow
Left and Right arrow
Up and Down arrow
Left Up arrow
Right Up arrow
Right Down arrow
Left Down arrow
Left arrow with stroke
Right arrow with stroke
Left wave arrow
Right wave arrow
Left two-headed arrow
Up two-headed arrow
Right two-headed arrow
Down two-headed arrow
Left arrow with tail
Right arrow with tail
Left arrow from bar
Up arrow from bar
Right arrow from bar
Down arrow from bar
Up and Down arrow with base
Left arrow with hook
Right arrow with hook
Left arrow with loop
Right arrow with loop
Left and Right wave arrow
Left and Right arrow with stroke
Down zigzag arrow
Up arrow with tip bent Left
Up arrow with tip bent Right
Down arrow with tip bent Left
Down arrow with tip bent Right
Right arrow wth corner bent Down
Down arrow with corner bent Right
Anticlockwise Top semicircle arrow
Clockwise Top semicircle arrow
Left Up arrow to long bar
Left arrow to bar over Right arrow to bar
Anticlockwise open semicircle arrow
Clockwise open semicircle arrow
Left harpoon with Up barb
Left harpoon with Down barb
Up harpoon with Right barb
Up harpoon with Left barb
Right harpoon with Up barb
Right harpoon with Down barb
Down harpoon with Right barb
Down harpoon with Left barb
Right arrow over Left arrow
Up arrow left of Down arrow
Left arrow over Right arrow
Left paired arrows
Up paired arrows
Right paired arrows
Down paired arrows
Left harpoon over Right harpoon
Right harpoon over Left harpoon
Left double arrow with stroke
Left and Right double arrow with stroke
Right double arrow with stroke
Left double arrow
Up double arrow
Right double arrow
Down double arrow
Left and Right double arrow
Up and Down double arrow
Left Up double arrow
Right Up double arrow
Right Down double arrow
Left Down double arrow
Left triple arrow
Right triple arrow
Left squiggle arrow
Right squiggle arrow
Up arrow with double stroke
Down arrow with double stroke
Left dashed arrow
Up dashed arrow
Right dashed arrow
Down dashed arrow
Left arrow to bar
Right arrow to bar
Left white arrow
Up white arrow
Right white arrow
Down white arrow
Up white arrow from bar
Up white arrow on pedestal
Up white arrow on pedestal with horizontal bar
Up white arrow on pedestal with vertical bar
Up white double arrow
Up white double arrow on pedestal
Right white arrow from wall
Left Up arrow to corner
Right Down arrow to corner
Up and Down white arrow
Right arrow with small circle
Down arrow left of Right arrow
Right triples arrows
Left arrow with vertical stroke
Right arrow with vertical stroke
Left and Right arrow with vertical stroke
Left arrow with double vertical stroke
Right arrow with double vertical stroke
Left and Right arrow with double vertical stroke
Left open-headed arrow
Right open-headed arrow
Left and Right open-headed arrow
Figure 10. A list of more arrow characters including but also beyond those shown in figure 1.

It could be useful to have all these avaialble. (Although finding ways to generated them from keyboards may a usability problem to solve.)

--