Skip to content

Commit

Permalink
Tap-or-Mod Extend w/ DKs
Browse files Browse the repository at this point in the history
* Tapping Ext w/ modifiers give various dead keys
* EPKL.exe is now added to releases instead
* Cleanup timer to release any stuck modifiers
  • Loading branch information
DreymaR committed Aug 5, 2019
1 parent ca29122 commit 5c7f607
Show file tree
Hide file tree
Showing 25 changed files with 498 additions and 312 deletions.
3 changes: 2 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -8,4 +8,5 @@
*desktop.ini
* Copy*
Layouts/*/*ImgGen_*
Layouts/*/*/*ImgGen_*
Layouts/*/*/*ImgGen_*
*PKL.exe
Binary file removed EPKL.exe
Binary file not shown.
11 changes: 7 additions & 4 deletions EPKL_Settings.ini
Original file line number Diff line number Diff line change
Expand Up @@ -103,11 +103,11 @@ img_horZone = 25 ; % - Left/right part of image where mouse-over pushes
;; =====================================================================================================================

;; Modifiers that are "Sticky" or "One-Shot" can be tapped then shortly thereafter type the key to be modded.
stickyMods = LShift,RShift,RCtrl ; eD WIP: Trouble with the qwfpbuyarsneioxcv!?
stickyTime = 600 ; ms - Sticky/One-Shot modifier tap time
stickyMods = LShift,RShift,RCtrl
stickyTime = 500 ; ms - Sticky/One-Shot modifier tap time

;; Tap-or-Modifier keys have a VK/ModName layout entry. To tap, release the key within the specified time if set > 0 ms.
tapModTime = 150 ; ms - Tap-or-Mod/Dual-Role-Modifier tap time
tapModTime = 250 ; ms - Tap-or-Mod/Dual-Role-Modifier tap time

;; Extend modifiers let you select Multi-Extend layers: Ext+Mod1 -> Ext2; Ext+Mod2 -> Ext3; Ext+Mod1+Mod2 -> Ext4.
extendMods = RAlt,RShift ; - Mod1,Mod2
Expand All @@ -132,9 +132,12 @@ compactMode = no
;; even if you type or press other keys.
;; If startSuspended is yes/true/1, EPKL will start up suspended. But it's probably better to just start it when needed?
suspendTimeOut = 0 ; min - Idle time before PKL is suspended
exitTimeOut = 0 ; min - Idle time after suspension before PKL is shut down
exitAppTimeOut = 0 ; min - Idle time after suspension before EPKL is shut down
startSuspended = no

;; After some inactivity, EPKL will try to release any modifiers that are stuck (with advanced usage this can happen)
cleanupTimeOut = 3 ; s - Idle time in seconds before EPKL cleans up any stuck modifiers etc

;; The EPKL Help Image Generator can use Inkscape to create a set of help images from the current layout
imgGenIniFile = Files\ImgGenerator\EPKL_ImgGen_Settings.ini

Expand Down
4 changes: 2 additions & 2 deletions Files/ImgGenerator/EPKL_ImgGen_Settings.ini
Original file line number Diff line number Diff line change
Expand Up @@ -28,5 +28,5 @@ dkBaseCharMark = 0x26AB ; U+2B24/26AB/25CF Black Large/Medium/std Circle. Large
dkCombCharMark = 0x25CC ; U+25CC Dotted Circle (used for combining marks).
tmTapOrModMark = 0x25CC ; U+25CC Dotted Circle - used here to mark Tap-or-Modifier keys (ToM/DRM)

;; Debug/refresh setting: Instead of a full set of images, render only one specified dead key.
;imgMakeSingleDK = Greek ; e.g., "Acute-Sup", "DblAcute-Sci", "RingAbov-Lig"
;; Refresh DK(s) only: Instead of a full set of images, render only the specified dead key(s).
dkOnlyMakeThis = Greek ;Ext_Symbols,Greek,RingAbov-Lig ; e.g., "Acute-Sup", "DblAcute-Sci", "RingAbov-Lig"
1 change: 0 additions & 1 deletion Files/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -120,7 +120,6 @@ DONE:
* EPKL v1.1.1: Some format changes. Minor fixes/additions. Tap-or-Mod keys (WIP).
- Fixed: HIG made a state8 image of semicolons. This was due to the SGCaps states (8:9) being added unnecessarily. (つ_〃*)
- Also fixed some minor HIG bugs related to hex dead key values etc.
- Fixed: On the first help img minimizing, a taskbar icon sometimes appeared on-screen or in tray. Showing the image once before resizing solved it.
- New: Tap-or-Modifier a.k.a. Dual-Role Modifier keys. Work-in-progress, not working well for rapidly typed keys yet.
- To make a ToM key, specify its VK layout entry as VK/Mod, where 'Mod' is a modifier name. The rest of the line can be any valid entry.
- The Help Image Generator can mark ToM keys (state 0 and 1) with a background symbol.
Expand Down
114 changes: 107 additions & 7 deletions Files/_eD_DeadKeys.ini
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,9 @@
;; It usually goes in the ./Files folder and is used by EPKL.exe
;
;; - Some of these mappings are from the Bépo layout (projet fr-dvorak-bépo, CC-SA-BY)
;; - Hex format Unicode points (U+####) can be entered as 0x#### in EPKL.
;; - EPKL dead keys allow prefix-entry syntax, as in layout, Extend and string entries.
;; - Hex Unicode points (U+####) can be entered as 0x#### in EPKL, both as keys and entrys.
;; - Literal keys are allowed, using <#> for the char '#'; <#>+ if it's an uppercase char.
;; - EPKL dead keys allow prefix-entry syntax, as in layout, Extend and powerstring entries.
;;
;; Special entries for dead keys:
;; - s0 = DK+DK → Pressing the DK twice usually releases the base character
Expand Down Expand Up @@ -43,14 +44,113 @@
@0b8 = Cedilla ; ¸ - Cedilla
@2d9 = DotAbove ; ˙ - Dot above, dot symbols
@02f = Stroke-Bar ; / - Stroke, bar, fractions
@ex0 = extend0 ; Ext Special Mother-of-DeadKeys (MoDK)
@ex1 = extend1 ; Ext --"--
@ex6 = extend6 ; Ext --"--
@ex7 = extend7 ; Ext --"--
@ex0 = Ext_Special ; Ext Special DK-on-tap symbols/codes
@ex1 = Ext_Kaomoji ; Ext --"-- (Shift+Ext tap)
@ex2 = Ext_2 ; Ext --"-- (Ctrl+Ext can be a DK too!)
@ex6 = Ext_MoDK ; Ext --"-- (AltGr+Ext; MoDK = Mother-of-DeadKeys)
@ex7 = Ext_7 ; Ext --"-- (AltGr+Shift+Ext)


[dk_Ext_Special]
;; Some useful symbols and commands are found in this DK table
<1> = →!
<2> = →@
<3> = →#
<4> = →$
<5> = →%
<6> = →^
<q> = →!
<w> = →@
<f> = →#
<p> = →$
<b> = →%
<B>+ = α[b][/b]{Left 4}
<a> = →*
<r> = →^
<s> = →=
<t> = →+
<g> = →&
<l> = α[]{Left}
<L>+ = α[url][/url]{Left 6}
<u> = →[
<U>+ = →{
<y> = →]
<Y>+ = →}
<n> = α(){Left}
<e> = α,{Space}
<i> = →.
<I>+ = α[i][/i]{Left 4}
<o> = ¶BSp ; o -> Backspace

<A>+ = α^a ; A -> Select all
<E>+ = α#. ; E -> Emoji picker
<F>+ = α^f ; F -> Find
<T>+ = α+^{Esc} ; T -> Task Manager
<z> = α^z ; Z -> Undo
<Z>+ = α+^z ; ʒ -> Redo
;<ð> = α{Enter}<> = {Left 8} ; eD WIP: Make a DK table entry
<Ð>+ = ¶Deb ; Ð -> Add a PKL debug statement (EPKL internal use)
< > = →Spcito ; eD WIP: Testing spc release (only works every second time?!?)


[dk_Ext_MoDK]


[dk_Ext_Kaomoji]
;; Powerstrings and kaomoji text faces are found in this table. Most capital mappings are still open.
;; NOTE: A † in a kaomoji description means it didn't render right on all platforms/apps.
<1> = ¶01 ; 1 - PowerString 01
<2> = ¶02 ; 2 - PowerString 02
<3> = ¶03 ; 3 - PowerString 03
<4> = ¶04 ; 4 - PowerString 04
<5> = ¶05 ; 5 - PowerString 05
<6> = ¶666 ; 6 - PowerString 666

<q> = → (✿◠‿◠) ; q -†Kawaii qute "Flower girl" (eyes may render as boxes)
<w> = → ( のvの) ; w - Wise owl
<f> = → ( ╯°□°)╯︵ ┻━┻ ; f - Flip table
<p> = → ┬─┬ ノ( °‿°ノ) ; p - Put table back
<P>+ = → (`・ω・´) ; P - Perky "Shakiin Denko"
<g> = → ☆*:.。. o(⁎≧▽≦)o .。.:*☆ ; g - Giddy Celebration
<j> = → ∩(◕‿◕。)∩~♪ ; j -†Joyful (eyes may render as boxes)
<l> = → ( ͡° ͜ʖ ͡°) ; l - Lennyface (uses non-spacing glyphs)
<u> = → ʕ ͡° ʖ̯ ͡°ʔ ; u - Unhappy Lenny (--"--)
<y> = → ლ(ಠ益ಠ ლ) ; y - Why?! Confusion
<;> = → (ʘ言ʘ╬) ; ; - Surprised Shock
<[> = → ヽ༼ຈل͜ຈ༽ノ ; [ -†Donger (sides didn't render well on phone)
<]> = → ᕕ( ᐛ )ᕗ ; ] -†Happy Gary (didn't render well on phone)

<a> = → ( ⌐■_■)=/̵͇̿̿/’̿’̿ ̿ ̿̿ ̿̿ ̿̿ ; a - Agent (uses non-spacing glyphs)
<A>+ = → /( .□.)\ ︵╰(°益°)╯︵ /(.□. /) ; A - Angry
<r> = → /(⁎≧∇≦)\ ; r - Rabbit LOL
<s> = → ¯\_(ツ)_/¯ ; s - Shrug (the \ may get read as an escape in scripts)
<t> = → d( ^◇^)b ; t - Thumbs up
<d> = → ♪~└[∵┌]└[・▥・]┘[┐∵]┘~♪ ; d - Dance robot party
<h> = → (つ♡ ͜ʖ ♡)つ ; h - Hearty hug
<n> = → (ง ಠ_ಠ)ง ; n - Nope! Disapproval
<e> = → (⁄ ⁄•⁄ω⁄•⁄ ⁄) ; e - Embarrassed (uses non-spacing glyphs)
<i> = → ฅ(=ʘᆽʘ=)ฅ ; i - Invite The Cat
<o> = → Θώθ ; o - OwO What's Thoth? (Answer: Egyptian god of wisdom!)
<'> = → (ノ*・д・)ノ ; ' - Apologize, Sorry
<\> = → ヽ( ⌒o⌒)人(⌒-⌒ )/ ; \ - Bros, Highfive
<|> = → (*^U^)人(≧V≦*)/ ; | - Bros, Highfive - alt.

<z> = → /╲/|╭( ͡°͡° ͜ʖ ͡°͡°)╮/|╱\ ; z - Zpyder
<x> = → ୧( x﹏x)୨ ; x - ( X_X) R.I.P. me
<c> = → ( ಥ╭╮ಥ) ; c - Cry
<v> = → ( ಸ‿ಸ) ; v - Smug Mug (not mnemonic; I use 'smVg' or 'Very Smug')
<b> = → ฅʕ •ᴥ•ʔฅ ; b - Beary cheer
<k> = → (=^・ω・^=)丿 ; k - Kitty Hello
<K>+ = → (=ΦωΦ=)ʃ ; K - Kitty Hello - alt.
<m> = → ( ͡ಠ ʖ̯ ͡ಠ)╭∩╮ ; m - Mad middle-finger
<M>+ = → ( ͡°Ĺ̯ ͡° )╭∩╮ ; M - Mad middle-finger - alt.
<,> = → (づ ̄ ³ ̄)づ ; , - Kissy kissy
<.> = → (つ_〃*) ; . - Facepalm
</> = → ( ಠ o ಠ) ¤=(———— ; / - Slash you!
<?> = → ᗜ( ಠ o ಠ) ¤=[====> ; ? -†Slash you! - alt. (shield didn't render on phone)


[dk_DotBelow]
960 = EPiKaL! ; π -> test entry. The old PKL sent entries directly (!+^#{} got translated).
s0 = 803 ; ̣ -- comb. dot below
s1 = 809 ; ̩ -- comb. vert. line below
s2 = 46 ; . -- display plain period
Expand Down
Loading

0 comments on commit 5c7f607

Please sign in to comment.