Patch title: Release 89 bulk changes
Abstract:
File: /linux/input/keyboard.page
Key:
    Removed line
    Added line
   
module "mapping.pli"

requires "browse_keyboard"

title "Pliant keyboard mappings"
table columns 2
  cell header [Layout]
  cell void
  each layout keyboard_database:data:layout
    cell (text keyof:layout)
    cell
      page button "edit"
        title "Pliant keyboard '"+keyof:layout+"' mapping"
        table columns 2
          cell header [Switch key]
          cell header [Name]
          each s layout:switch
            cell (text keyof:s)
            cell (text s)
        input "Switch key: " (var Str skey) length 3 noeol
        input "Name: " (var Str sname) length 10 noeol
        button "add" noeol
          layout:switch create skey
          layout:switch skey := sname
          reload_page
        button "remove"
          layout:switch delete skey
          reload_page
        table columns 2
          cell header [Modifier key]
          cell header [Name]
          each m layout:modifier
            cell (text keyof:m)
            cell (text m)
        input "Modifier key: " (var Str mkey) length 3 noeol
        input "Name: " (var Str mname) length 10 noeol
        button "add" noeol
          layout:modifier create mkey
          layout:modifier mkey := mname
          reload_page
        button "remove"
          layout:modifier delete mkey
          reload_page
        table columns 3
          cell header [Combinaison]
          cell header [Unicode or name]
          cell header [Character]
          each k layout:key
            cell (text keyof:k)
            cell (text k)
            cell
              if (k parse (var Int i))
                html "&#"+string:i+";"
        input "Combination: " (var Str combi) length 20 noeol
        input "Unicode or name: " (var Str result) length 10 noeol
        select "" (var Str mode) noeol
          option "raw" "raw"
          option "character" "character"
        button "add" noeol
          layout:key create combi
          layout:key combi := result
          if mode="character" and result:len=1
            layout:key combi := string result:0:number
          reload_page
        button "remove"
          layout:key delete combi
          reload_page