commit b9e28be07c0c876d20964dc2f700a436093f6053 Author: Meik Hellmund Date: Sun Sep 10 17:29:55 2023 +0200 first commit diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..b25c15b --- /dev/null +++ b/.gitignore @@ -0,0 +1 @@ +*~ diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..f76a056 --- /dev/null +++ b/Readme.md @@ -0,0 +1,6 @@ + +# A keyboard cheatsheet written in Typst loading a YAML file with keyboard codes + +The design was inspired by Alexander Yakushev's beautiful LaTeX template https://gist.github.com/alexander-yakushev/c773543bf9a957749f79 . + + diff --git a/kbdshortcuts.pdf b/kbdshortcuts.pdf new file mode 100644 index 0000000..6d6178f Binary files /dev/null and b/kbdshortcuts.pdf differ diff --git a/kbdshortcuts.typ b/kbdshortcuts.typ new file mode 100644 index 0000000..c63428a --- /dev/null +++ b/kbdshortcuts.typ @@ -0,0 +1,73 @@ +#import "@preview/tablex:0.0.5": * + + +#let mainfont = "Charis SIL" + +#let color1 = rgb("#6e7b8b") // LightSteelBlue4 +#let color2 = rgb("#008b45") // SpringGreen4 +#let color3 = rgb("#87ceff") // SkyBlue1 +#let colors = (color1, color2, color3) + +#set text (font: mainfont, size: 8pt, lang: "en" ) + +#set page( paper: "a4", + flipped: true, + columns: 3, + margin: (left: 1cm, right: 1cm, top: 0.5cm, bottom: 1cm) +) + +#show heading: it => [ + #set align(center) + #set text(12pt, weight: "bold", font: mainfont) + #block(it.body) + #v(5pt) +] + + +#let mytab(header, e, color1, color2) = { + tablex( + columns: (10fr, 7fr), + rows: (13pt, 10pt), // first, repeat for rest + align: left + horizon, + row-gutter: 0pt, + stroke: none, + auto-lines: false, + fill: (col, row) => if calc.even(row) { color2 } else { white }, + colspanx(2, fill: color1)[#text(9pt, white)[*#header*]], + ..e.map( + row => ( + if row.keys().at(0) == "$twocolumn" { + colspanx(2, align: center + horizon)[ #row.values().at(0) ] } + else + { (row.keys().at(0), row.values().at(0)) } ) + ).flatten(), + //colspanx(2)[], + hlinex(stroke: color1 + 3pt) //gutter-restrict: top) + ) +} + +#let k = yaml("keyboard.yaml") + +// yaml: dict mit nur einem k-v-pair, der value ist ein array +// Jeder Eintrag im array ist wieder dict mit nur einem k-v-pair, v ist wieder array + +#let count=0 +#for i in k.Kbd { + let title = i.keys().at(0) // key des 0ten k-v-pairs + let list = i.values().at(0) // value des 0ten k-v-pairs = array + let color1 = colors.at(count) + let color2 = color1.lighten(65%) + count += 1 + [ = #title ] + + for j in list { + let chap = j.keys().at(0) + let entries = j.values().at(0) + mytab(chap, entries, color1, color2) + v(8pt) + v(1fr) + } + v(3fr) + if count < 3 {colbreak()} + +} diff --git a/keyboard.yaml b/keyboard.yaml new file mode 100644 index 0000000..a40a5f9 --- /dev/null +++ b/keyboard.yaml @@ -0,0 +1,113 @@ +Kbd: + - i3wm: + - Launch: + - Terminal: Win-Enter + - Application: Win-Space + - Help: Win-Shift-? + - Browser: Win-Shift-Enter + - VS Code: Win-Ctrl-c + - Sylpheed Mail: Win-Ctrl-s + - Emacs: Win-Ctrl-e + - MyBooks: Win-Ctrl-b + - Zotero: Win-Ctrl-z + - File Browser: Win-Shift-n + - Screenshot: Ctrl-PrtSc + + - Navigate: + - Relative Window: Win- ↑ ↓ ← →, kjhl + - Workspaces: Win-1..9,0, Win-Ctrl 1..9 + - Next/Prev Workspace: Win-Alt ← → + - Scratchpad: Win-Ctrl-a + - Window by Name: Win Ctrl Space + - Next Free Workspace: Win ` + - Relative Parent: Win a + - Relative Child: Win z + + - Modify: + - Resize Mode : Win-r + - Carry Window to Workspace 1 - 10 : Win-Alt 1..9, 0 + - Carry Window to Workspace 11 - 19 : Win-Alt-Ctrl 1..9 + - Move Window to Workspace 1 - 10 : Win-Shift 1..9, 0 + - Move Window to Workspace 11 - 19 : Win-Ctrl-Shift 1..9 + - Move to Scratchpad : Win-Ctrl-m + - Toggle Window Orientation h/v : Win-Backspace + - Settings : Win-c + - Tile/Float Focus Toggle : Win-Shift-t + - Window Floating Toggle : Win-Shift-f + - Window Fullscreen Toggle : Win-f + - Window Layout Mode : Win-t + - Window Position : Win-Shift h j k l + - "" : Win-Shift ↑ ↓ ← → + - Move Window to Next Free WS : Win-Shift-` + - Carry Window to Next Free WS : Win-Ctrl-` + - Horizontal Window Orientation : Win-g + - Vertical Window Orientation : Win-v + + - Session: + - Exit App : Win-Shift-q + - "" : Win-Esc + - Terminate App : Win-Alt-q + - Lock Screen : Win-Shift-s + - Logout : Win-Shift-e + - Power down: Win-Shift-p + - Reload i3 conf : Win-Shift-c + - Restart i3 : Win-Ctrl-r + + + - WezTerm: + - Look: + - Decrease font size: Ctrl-- + - Increase font size: Ctrl-= + - Reset font size: Ctrl-0 + + - Copy & Paste: + - Copy to clipboard : Ctrl-Shift-c + - Paste : Ctrl-Shift-v + - Copy to PrimarySelection: Ctrl-Insert + - Paste from PrimarySelection : Shift-Insert + - Quick select : Ctrl-Shift-Space + - Copy mode : Ctrl-Shift-x + - Exit copy mode/quick select : Esc + - $twocolumn : in copy mode + - Cell selection : v + - Line selection : Shift-v + - Rectangular selection : Ctrl-v + - Move : ↑ ↓ ← →, kjhl + - Move forw/backw word : Tab/Shift-Tab + - Move start of line : "0" # that must be a String, not an Int + - Move end of line : $ + - Move top/bottom of scrollback : g/Shift-g + - Move top/mid/bot of viewport : Shift-H,M,L + - Move up/down one screen : PgUp/PgDown; Ctrl-b/f + + - Tabs etc.: + - Spawn tab default domain : Alt-Shift-t + - Spawn tab current domain : Ctrl-Shift-t + - Spawn new window : Ctrl-Shift-n + - Close current tab : Ctrl-Shift-w + - Activate tab : Ctrl-Shift-0...9 + - Activate next/prev tab : Ctrl-Tab/Ctrl-Shift-Tab + - Scroll up/down : Shift-PageUp/PageDown + - Reload config : Ctrl-Shift-r + - Search : Ctrl-Shift-f + + + - VS Code: + - General: + - Settings : Ctrl-, + - Command palette : Alt-x + - "" : Ctrl-Shift-p + - Intellisense : Ctr-Space + - Split panes : Ctrl-\ + - Move to pane : Ctrl-1,2,3,... + - Move to sidebar : Ctrl-0 + - Move between tabs : Ctrl-PageUp/Down + - "" : Ctrl-Tab + - Toggle Console/Editor : Ctrl-` + - Open File (file browser ext.) : Ctrl-x Ctrl-g + + - LaTeX: + - View : Ctrl-Alt-v + - Goto cursor in PDF : Ctr-Alt-j + - Close environment : Ctrl-c ] +