Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Feature request] Keyboard tutorial #6

Open
kckennylau opened this issue Apr 28, 2016 · 31 comments
Open

[Feature request] Keyboard tutorial #6

kckennylau opened this issue Apr 28, 2016 · 31 comments

Comments

@kckennylau
Copy link
Contributor

I think it would be good if you would include a tutorial on how exactly to type each character, except copying them from your webpage.

@DennisMitchell
Copy link
Owner

The problem I see with this is that this varies with each different keyboard layout. To make matters worse, not all keyboard layouts are available on all platforms.

@ConorOBrien-Foxx
Copy link

@kckennylau Do you run windows? If so, I can make a keyboard layout for you.

@kckennylau
Copy link
Contributor Author

@ConorOBrien-Foxx Yes I do, thanks in advance.

@haakenlid
Copy link

In feature rich text editors such as vim and emacs, you can use rfc1345 mnemonics to input these characters. Here's a link to the usage in vim, where this function is called "digraphs" http://vimhelp.appspot.com/digraph.txt.html

@vendethiel
Copy link
Contributor

Did someone write a VIM keyboard file "yet"?

@xeniagda
Copy link

xeniagda commented Jul 28, 2016

@vendethiel I wrote one, you can download it here. Place the file in your home directory, and add source ~/.jelly.vim in your vimrc. Every character can be made using C-k.

@vendethiel
Copy link
Contributor

Nice :D

@GolfingSuccess
Copy link
Contributor

GolfingSuccess commented Oct 13, 2016

@DennisMitchell Hmm... and that's why I struggle with Jelly.

@ConorOBrien-Foxx Just a question: have you made the layout yet? Because I desparately need it, I can't use the Compose Key for everything 👎

@ChaosCat
Copy link

ChaosCat commented Nov 3, 2016

I actually started creating the keyboard with KLC for windows, I am modeling it to be as intuitive as possible. The only problem that I'm facing right now is figuring out which are the most commonly used symbols (which should be used as the default value for each key) and which ones are less common and should be enabled by alternating between modes (shift, caps, etc...). any leads so I can move on with it?

@GolfingSuccess
Copy link
Contributor

GolfingSuccess commented Nov 3, 2016

@ChaosCat (May not be ordered with most common symbols yet)

Key Ctrl + Key
1 !
2 @
3 #
4 $
5 %
6 ^
7 &
8 *
9 (upper dot)*
0 (lower dot)*
`
E
L £
C ©
R ®
Y ¥
S ß
C Ç
c ç
N Ñ
n ñ
\ ¡
/ ¢
o ¤
T Þ
t þ
[
]
h
j
k
l**
. ¿
m «
, »
O Ø
o ø
e œ
A Æ
a æ
; Œ
z ½
x ×
d ÷
u ¬
b µ
h ð
G Ɠ
g ɠ
v ƈ

*Followed by another valid letter.

**This is a lowercase L, not a pipe!

Please note that, when only a lowercase letter is given, the uppercase should do the same thing (i.e. only a lowercase u is given, but U must also produce ¬ with Ctrl). You can use the Shift key in conjunction with Ctrl + Key to do Ctrl + Shift + Key instead (E instead of e for example), but I have tried to lessen Shift's use for these.

Key Shift + Key
1 ¹
2 ²
3 ³
4
5
6
7
8
9
0 °*

*This is the degree character, not a superscript zero.

If I have missed anything, or I have either a duplicate key or a duplicate character in both tables, please reply.

@ChaosCat
Copy link

ChaosCat commented Nov 4, 2016

The keyboard is (almost) ready

The layout is ready, the only thing left to do is a bit of real-time testing and packaging as a DLL along with writing some installation instructions. By the way, there were 3 duplicate keys which I handled in a special way (the letters h, o, and C) but the cases were handled in a proper way.

Here are a few notes about the keyboard implementations:

1. Upper case is the default system and all lowercase letters can be accessed with {Shift}
(Examples: {Shift} + R = r, {Shift} + T = t, {Shift} + 0 = °)
2. {Ctrl} + {Key} (default) = Uppercase version of a special character
(Examples: {Ctrl} + C = Ç, {Ctrl} + E = €, {Ctrl} + Y = ¥)
3. In order to access the lowercase version of a special character use {Shift} + {Ctrl} + {Key}
(Examples: {Shift} + {Ctrl} + c = ç, {Ctrl} + {Shift} + z = ½)
4. The duplicate characters (h, o, C) can be accessed using right alt key {AltGr} or alternatively ({Alt} + {Ctrl}). and thus:

  • {AltGr} + h = ð
  • {Ctrl} + {Alt} + C = ©
  • {Alt} + {Ctrl} + o = ¤

5. I am not too sure if the upper and bottom dot function the way they should in real Jelly code (currently "Combining dot above/below" are used).
6. All other keys / combinations on the keyboard currently do nothing although the keyboard doesn't include the full Jelly charset.

Any requests/insights before I build it and proceed to the final stage?

@GolfingSuccess
Copy link
Contributor

GolfingSuccess commented Nov 4, 2016

@ChaosCat Of course combination characters are invalid. I tried to avoid Alt. The (upper dot) and (lower dot) are meant to be modifier combinations that must be followed by another letter. Here are all the upper-dot and lower-dot characters that must be supported:

ȦḂĊḊĖḞĠḢİĿṀṄȮṖṘṠṪẆẊȧḃċḟḣŀṁȯṗṙṡṫẋẇż
ẠḄḌḤỊḲḶṂṆỌṚṢṬỤṾỴạḅḍịḷọṛṣṭ

Any other dot character must not be supported (Ctrl-9 and e must not produce ė, for example). Also, I would recommend supporting Caps Lock.

I do not think supporting the whole code page is an urgency, because not all characters are used up yet.

Oh, and please do Ctrl+Alt for ® too, to avoid confusion.

@ChaosCat
Copy link

ChaosCat commented Nov 4, 2016

Hmm, I don't think that modifying keys in a way so they'd combine into a single character (such as the Japanese keyboard) is really implementable using MS-KLC. However, I did start using Caps Lock for shifting between uppercase and lowercase. I think about using {shift} as the upper dot modifier (and thus {shift} + {caps} would produce uppercase dot letter) and {AltGr} for the lower dot modifier (same system applies). I will move the current 4 AltGr keys (including ®) to some unassigned keyboard values in the other modes.


Update: finished implementing most of the changes, I'd like to note that I find the KB highly comfortable.

Changelog

  • Added Capslock support
  • Moved ð to {ctrl} + d
  • Moved ¤ to {ctrl} + q*
  • Moved © to {ctrl} + 9**
  • Moved ® to {ctrl} + 0**
  • Keyboard doesn't allow input of invalid dot characters
  • The Keyboard feels more natural to use 😄

**The upper dot and lower dot are no longer necessary
*(ctrl + x/v should be kept for cut & paste since ctrl + c is already used)

@ChaosCat
Copy link

ChaosCat commented Nov 5, 2016

@DennisMitchell I have tested the keyboard and it's installation and it works great (despite it's uhhh... "special" installation procedure) should I add it's source and installation files to a directory in the main jelly repository or should I make a separate repo for it?

@GolfingSuccess
Copy link
Contributor

@ChaosCat Well, you have to implement the modification characters, or the project is just waste that needs to be dumped away. I guess that Shift and Alt do not use combination characters anymore.

@ChaosCat
Copy link

ChaosCat commented Nov 6, 2016

@erikkonstas All the characters ȦḂĊḊĖḞĠḢİṀṄȮṖṘṠṪẆẊȧḃċḟḣŀṁȯṗṙṡṫẇẋż and ẠḄḌḤỊḲḶṂṆỌṚṢỤṾỴạḅḍịḷọṛṣ [are those the modification characters you meant¿⁾ are present on the keyboard [As a matter of fact, I am using it right now to write this message⁾,what else am I missing¿

@GolfingSuccess
Copy link
Contributor

@ChaosCat Please allow normal ()? if you can. Also, I think the upper dot can do L too (it's just that L/l have a middle dot, not an upper one). Also, make sure that you have ° instead of ⁰.

@ChaosCat
Copy link

@erikkonstas Done. No explanation is better than some screenshots (Although I do intend making a documentation for usage and installation :P) :

Default

jellykb
jellykbcaps

Shift

jellykbshft
jellykbshftcaps

Right alt (Alt + Ctrl)

jellykbaltgr
jellykbaltgrcaps

Ctrl

jellykbctrl

@GolfingSuccess
Copy link
Contributor

GolfingSuccess commented Nov 12, 2016

@ChaosCat ɠƈø are still missing though :( Yes, I still insist. I insist, for a better layout. Please do not take this personally. I like how the €Þ¥ØÆßðƓ£ÇÑ are put.

@ChaosCat
Copy link

@erikkonstas I actually totally understand the way you chose the Ctrl layout, the ß is a strong s, Æ and Ø make perfect sense, same goes for the £ and ¥ which look like an L and Y. Same goes for the other letters... It's actually quite intuitive. I will add the other three characters later on today but more importantly, is the layout logic itself fine (consistent rules, easy to master, productive)? I'd really like to hear an opinion from someone who is a frequent user of jelly.

@GolfingSuccess
Copy link
Contributor

@ChaosCat If you have put the characters in, can you please upload new screenshots?

@ConorOBrien-Foxx
Copy link

ConorOBrien-Foxx commented Dec 6, 2016

@GolfingSuccess haha sorry I kind of dropped off the github scene for a while. I've been tending to other things lately. I'll have the layout done by the end of December. It looks like one has already been made, but I'll try my hand at one.

@GolfingSuccess
Copy link
Contributor

GolfingSuccess commented Dec 6, 2016

@ConorOBrien-Foxx Yes, I am the main suggester of things being done there.

@ChaosCat
Copy link

I've found a way to assign dead keys in KLC. So the combinations should work just fine (no combined characters). Problem is, I have to recreate the layout from scratch. If nothing comes up it will be done this weekend.

@GolfingSuccess
Copy link
Contributor

@ChaosCat Umm... done yet?

@ChaosCat
Copy link

@GolfingSuccess Actually yeah, I got very busy last year. and I am sure there are a lot of new characters added which the keyboard doesn't support.

jellykb

jellykbcaps
*Shift produces the same result as the above image.

jellykbshftctrl

jellykbaltgr

Although I am pretty worried about all the Ctrl + key shortcuts since they collide with the native editor/application/windows ones, why won't we move the keys to AltGr and AltGr + shift?

@GolfingSuccess
Copy link
Contributor

@ChaosCat Lots of chars are missing there...oh and was added.

@ChaosCat
Copy link

ChaosCat commented Jun 19, 2017

@GolfingSuccess Which ones are missing? I went over the list above, all the characters with dot above/below (Ȧ to ṭ) are achieved by the combination of Ctrl + 9/0* + [Any valid character].

  • Added Ẏ
  • dot above/below respectively.

@fionafibration
Copy link

@ChaosCat Is there a download for this? I'd like to start programming in jelly, and I don't really have many other options besides your keyboard layout thingy.

@jellyballs
Copy link

Guys maybe you want to try Jelly Balls, an online editor designed to easily write code in Jelly Language.

The features include:

  • Command palette with all atoms and syntax characters organized by type
  • Online parser recognizing literals and 2-byte atoms in the code
  • Direct links for transferring the code into TIO or another Jelly Balls session
  • Automatic hints

Give it a try: https://jellyballs.github.io

Jelly Balls

  • Code report showing description of every step

Jelly Balls

  • Recipes page with Jelly examples

Jelly Balls

  • Interactive code page of 256 Jelly characters

Jelly Balls

@rutenkolk
Copy link

rutenkolk commented Aug 18, 2019

Hey, this might be super late to the party but I just wrote a super small collection of scripts called
jellyfingers

It should work at least across all *nix systems. It uses the wiki descriptions to let the user search for a character or a combination thereof.
With this you should be able to type a bunch of jelly with virtually any keyboard layout.
I hope this is of use for anyone else than just me.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests