Compare commits
	
		
			13 Commits
		
	
	
		
			v1.42.0_rc
			...
			v1.42.1
		
	
	| Author | SHA1 | Date | |
|---|---|---|---|
| 5bb23e79fe | |||
| 18d4bacde8 | |||
| 5dd31c4df0 | |||
| 8404da2e01 | |||
| da2093c3c7 | |||
| 9d043a0647 | |||
| 6fd60502bb | |||
| b9c86165c0 | |||
| 97495b73c2 | |||
| 0552b9cd3b | |||
| 76194dba15 | |||
| e89ba89aea | |||
| 985e0c976a | 
							
								
								
									
										45
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							
							
						
						
									
										45
									
								
								Cargo.lock
									
									
									
										generated
									
									
									
								
							@ -62,9 +62,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "autocfg"
 | 
			
		||||
version = "1.3.0"
 | 
			
		||||
version = "1.4.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "0c4b4d0bd25bd0b74681c0ad21497610ce1b7c91b1022cd21c80c6fbdd9476b0"
 | 
			
		||||
checksum = "ace50bade8e6234aa140d9a2f552bbee1db4d353f69b8217bc503490fc1a9f26"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "bitflags"
 | 
			
		||||
@ -111,9 +111,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "cc"
 | 
			
		||||
version = "1.1.21"
 | 
			
		||||
version = "1.1.22"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "07b1695e2c7e8fc85310cde85aeaab7e3097f593c91d209d3f9df76c928100f0"
 | 
			
		||||
checksum = "9540e661f81799159abee814118cc139a2004b3a3aa3ea37724a1b66530b90e0"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "shlex",
 | 
			
		||||
]
 | 
			
		||||
@ -318,7 +318,7 @@ checksum = "87750cf4b7a4c0625b1529e4c543c2182106e4dedc60a2a6455e00d212c489ac"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.77",
 | 
			
		||||
 "syn 2.0.79",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -475,7 +475,7 @@ dependencies = [
 | 
			
		||||
 "proc-macro-error",
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.77",
 | 
			
		||||
 "syn 2.0.79",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -548,7 +548,7 @@ dependencies = [
 | 
			
		||||
 "proc-macro-error",
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.77",
 | 
			
		||||
 "syn 2.0.79",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -613,9 +613,9 @@ checksum = "49f1f14873335454500d59611f1cf4a4b0f786f9ac11f4312a78e4cf2566695b"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "libc"
 | 
			
		||||
version = "0.2.158"
 | 
			
		||||
version = "0.2.159"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "d8adc4bb1803a324070e64a98ae98f38934d91957a99cfb3a43dcbc01bc56439"
 | 
			
		||||
checksum = "561d97a539a36e26a9a5fad1ea11a3039a67714694aaa379433e580854bc3dc5"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "linux-raw-sys"
 | 
			
		||||
@ -693,9 +693,12 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "once_cell"
 | 
			
		||||
version = "1.19.0"
 | 
			
		||||
version = "1.20.1"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
 | 
			
		||||
checksum = "82881c4be219ab5faaf2ad5e5e5ecdff8c66bd7402ca3160975c93b24961afd1"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "portable-atomic",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "pango"
 | 
			
		||||
@ -762,6 +765,12 @@ dependencies = [
 | 
			
		||||
 "windows-sys 0.48.0",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "portable-atomic"
 | 
			
		||||
version = "1.9.0"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "cc9c68a3f6da06753e9335d63e27f6b9754dd1920d941135b7ea8224f141adb2"
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "proc-macro-crate"
 | 
			
		||||
version = "0.1.5"
 | 
			
		||||
@ -914,7 +923,7 @@ checksum = "243902eda00fad750862fc144cea25caca5e20d615af0a81bee94ca738f1df1f"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.77",
 | 
			
		||||
 "syn 2.0.79",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
@ -925,14 +934,14 @@ checksum = "6c64451ba24fc7a6a2d60fc75dd9c83c90903b19028d4eff35e88fc1e86564e9"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.77",
 | 
			
		||||
 "syn 2.0.79",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "serde_spanned"
 | 
			
		||||
version = "0.6.7"
 | 
			
		||||
version = "0.6.8"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "eb5b1b31579f3811bf615c144393417496f152e12ac8b7663bf664f4a815306d"
 | 
			
		||||
checksum = "87607cb1398ed59d48732e575a4c28a7a8ebf2454b964fe3f224f2afc07909e1"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "serde",
 | 
			
		||||
]
 | 
			
		||||
@ -1000,9 +1009,9 @@ dependencies = [
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
name = "syn"
 | 
			
		||||
version = "2.0.77"
 | 
			
		||||
version = "2.0.79"
 | 
			
		||||
source = "registry+https://github.com/rust-lang/crates.io-index"
 | 
			
		||||
checksum = "9f35bcdf61fd8e7be6caf75f429fdca8beb3ed76584befb503b1569faee373ed"
 | 
			
		||||
checksum = "89132cd0bf050864e1d38dc3bbc07a0eb8e7530af26344d3d2bbbef83499f590"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
@ -1045,7 +1054,7 @@ checksum = "08904e7672f5eb876eaaf87e0ce17857500934f4981c4a0ab2b4aa98baac7fc3"
 | 
			
		||||
dependencies = [
 | 
			
		||||
 "proc-macro2",
 | 
			
		||||
 "quote",
 | 
			
		||||
 "syn 2.0.77",
 | 
			
		||||
 "syn 2.0.79",
 | 
			
		||||
]
 | 
			
		||||
 | 
			
		||||
[[package]]
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										26
									
								
								NEWS
									
									
									
									
									
								
							
							
						
						
									
										26
									
								
								NEWS
									
									
									
									
									
								
							@ -1,20 +1,36 @@
 | 
			
		||||
squeekboard 1.42.0~rc1
 | 
			
		||||
----------------------
 | 
			
		||||
squeekboard 1.42.1
 | 
			
		||||
------------------
 | 
			
		||||
Released October 2024
 | 
			
		||||
* Fixes:
 | 
			
		||||
    * With some apps, in particular apps made with Electron, text-input did not work with some buttons, depending on which layout was used. Text-input should now work normally with those apps.
 | 
			
		||||
    * In some situations, modifiers were cleared after pressing another button (for example: when pressing `C`, for `Ctrl + C`), resulting in text-input without the modifiers. The modifiers will remain active in those situations from now on.
 | 
			
		||||
* Contributors:
 | 
			
		||||
    * MoonlightWave-12
 | 
			
		||||
    * Sebastian Krzyszkowiak
 | 
			
		||||
 | 
			
		||||
squeekboard 1.42.0
 | 
			
		||||
------------------
 | 
			
		||||
Released September 2024
 | 
			
		||||
* New layouts:
 | 
			
		||||
    * Belarusian (by)
 | 
			
		||||
    * French (fr+bepo) terminal-layout
 | 
			
		||||
    * Japanese (jp)
 | 
			
		||||
    * Serbian (rs), (rs+latin), (rs+latinunicode)
 | 
			
		||||
* Changed layouts:
 | 
			
		||||
    * Thai (th):
 | 
			
		||||
        * There is less empty space now.
 | 
			
		||||
        * Most buttons are wider now.
 | 
			
		||||
        * The arrangement of buttons for the `symbols` and `numbers` views, is more consistent with other layouts now.
 | 
			
		||||
* Fixes:
 | 
			
		||||
    * "Keyboard Settings" in the language-selection-popover will now open the correct panel in GNOME Settings.
 | 
			
		||||
    * On some relatively small screens in horizontal orientation, the compact shape was used instead of the wide shape,
 | 
			
		||||
      even though the wide shape can fit into the same height. The wide shape will be used on those screens now.
 | 
			
		||||
* Changes:
 | 
			
		||||
    * The height of the panel will adapt to screens differently now.
 | 
			
		||||
      In particular, the panel will now be 1/3 of the screen's height on most monitors in horizontal orientation,
 | 
			
		||||
    * The height of the panel will adapt to screens differently.
 | 
			
		||||
      In particular, the panel will be 1/3 of the screen's height on most monitors in horizontal orientation,
 | 
			
		||||
      and as tall as it can be, while maintaining the aspect-ratio of the wide shape (16:5) without empty space next to it,
 | 
			
		||||
      for most monitors in vertical orientation.
 | 
			
		||||
    * Settings for adjusting the height of the panel for the keyboard have been added.
 | 
			
		||||
    * GSettings for adjusting the height of the panel for the keyboard have been added.
 | 
			
		||||
    * The documentation has been improved. In particular, it should now be much easier to learn how to test changes to Squeekboard and layouts.
 | 
			
		||||
    * After building a Debian-package for Squeekboard and installing it, `update-alternatives` is now supported.
 | 
			
		||||
    * The layout-files now have the English name of the language for which the respective layout is, in a comment at the top of the file.
 | 
			
		||||
 | 
			
		||||
@ -2,47 +2,47 @@
 | 
			
		||||
---
 | 
			
		||||
outlines:
 | 
			
		||||
    default:       { width: 35.33,  height: 45.5 }
 | 
			
		||||
    halfwidth:     { width: 17.665, height: 45.5 }
 | 
			
		||||
    narrow:        { width: 22.5,   height: 45.5 }
 | 
			
		||||
    special:       { width: 35.33,  height: 45.5 }
 | 
			
		||||
    change-view:   { width: 42,     height: 45.5 }
 | 
			
		||||
    change-view-2: { width: 50,     height: 45.5 }
 | 
			
		||||
    action:        { width: 59,     height: 45.5 }
 | 
			
		||||
    wide:          { width: 50,     height: 45.5 }
 | 
			
		||||
    spaceline:     { width: 119.47, height: 45.5 }
 | 
			
		||||
    small:         { width: 50.471, height: 24 }
 | 
			
		||||
    altline:       { width: 52.67,  height: 45.5 }
 | 
			
		||||
    change-view:   { width: 52.67,  height: 45.5 }
 | 
			
		||||
    large:         { width: 52.67,  height: 45.5 }
 | 
			
		||||
    wide:          { width: 59,     height: 45.5 }
 | 
			
		||||
    change-view-2: { width: 59,     height: 45.5 }
 | 
			
		||||
    spaceline:     { width: 100.96, height: 45.5 }
 | 
			
		||||
    special:       { width: 35.33,  height: 45.5 }
 | 
			
		||||
 | 
			
		||||
views:
 | 
			
		||||
    base:
 | 
			
		||||
        - "TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "b é p o w v d l j z"
 | 
			
		||||
        - "a u i e c t s r n m"
 | 
			
		||||
        - "Shift_L y x k q g h f . BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences   space SlashSmall show_actions Return"
 | 
			
		||||
        - "Shift_L y x k q g h f BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences        space         show_actions Return"
 | 
			
		||||
    upper:
 | 
			
		||||
        - "TabSmall Ctrl Alt PageUp PageDown Home End"
 | 
			
		||||
        - "B É P O W V D L J Z"
 | 
			
		||||
        - "A U I E C T S R N M"
 | 
			
		||||
        - "Shift_L   Y X K Q G H F MinusSmall  BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences   space  ColonSmall  show_actions Return"
 | 
			
		||||
        - "Shift_L Y X K Q G H F BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences        space         show_actions Return"
 | 
			
		||||
    numbers:
 | 
			
		||||
        - "TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
			
		||||
        - "@ # € % & - _ + ( )"
 | 
			
		||||
        - "show_symbols   , \" ' : ; ! ? .  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space    SlashSmall     show_actions Return"
 | 
			
		||||
        - "show_symbols   , \" ' : ; ! ?  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         . Return"
 | 
			
		||||
    symbols:
 | 
			
		||||
        - "TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
			
		||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
			
		||||
        - "show_numbers   \\ / < > = [ ] .  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space    SlashSmall     show_actions Return"
 | 
			
		||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         . Return"
 | 
			
		||||
    eschars:
 | 
			
		||||
        - "TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "à â ç é è ê î ô ù û"
 | 
			
		||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
			
		||||
        - "show_numbers  æ œ ä ë ï ö ü .  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space    SlashSmall     show_actions Return"
 | 
			
		||||
        - "show_numbers  æ œ ä ë ï ö ü  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         . Return"
 | 
			
		||||
    actions:
 | 
			
		||||
        - "TabSmall Ctrl Alt PageUp PageDown Home End"
 | 
			
		||||
        - "F1  F2  F3  F4  F5  F6"
 | 
			
		||||
@ -50,7 +50,7 @@ views:
 | 
			
		||||
        - "Esc Tab Pause Insert Up Del"
 | 
			
		||||
        - "show_letters_actions Menu Break Left Down Right"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
 | 
			
		||||
buttons:
 | 
			
		||||
    F1:
 | 
			
		||||
        outline: "action"
 | 
			
		||||
@ -223,14 +223,5 @@ buttons:
 | 
			
		||||
        outline: "wide"
 | 
			
		||||
        icon: "key-enter"
 | 
			
		||||
        keysym: "Return"
 | 
			
		||||
    ColonSmall:
 | 
			
		||||
        outline: "narrow"
 | 
			
		||||
        text: ":"
 | 
			
		||||
    MinusSmall:
 | 
			
		||||
        outline: "narrow"
 | 
			
		||||
        text: "-"
 | 
			
		||||
    SlashSmall:
 | 
			
		||||
        outline: "narrow"
 | 
			
		||||
        text: "/"
 | 
			
		||||
    .:
 | 
			
		||||
        outline: "narrow"
 | 
			
		||||
        outline: "large"
 | 
			
		||||
@ -2,55 +2,53 @@
 | 
			
		||||
---
 | 
			
		||||
outlines:
 | 
			
		||||
    default:       { width: 54,   height: 37 }
 | 
			
		||||
    halfwidth:     { width: 27,   height: 37 }
 | 
			
		||||
    narrow:        { width: 40.5, height: 37 }
 | 
			
		||||
    special:       { width: 54,   height: 37 }
 | 
			
		||||
    action:        { width: 90,   height: 37 }
 | 
			
		||||
    small:         { width: 67.4, height: 22 }
 | 
			
		||||
    altline:       { width: 81,   height: 37 }
 | 
			
		||||
    change-view:   { width: 81,   height: 37 }
 | 
			
		||||
    large:         { width: 81,   height: 37 }
 | 
			
		||||
    action:        { width: 90,   height: 37 }
 | 
			
		||||
    wide:          { width: 90,   height: 37 }
 | 
			
		||||
    change-view-2: { width: 90,   height: 37 }
 | 
			
		||||
    spaceline:     { width: 153,  height: 37 }
 | 
			
		||||
    small:         { width: 67.4, height: 22 }
 | 
			
		||||
    special:       { width: 54,   height: 37 }
 | 
			
		||||
 | 
			
		||||
views:
 | 
			
		||||
    base:
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "b é p o w v d l j z"
 | 
			
		||||
        - "a u i e c t s r n m"
 | 
			
		||||
        - "Shift_L y x k q g h f . BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences        space   SlashSmall   show_actions Return"
 | 
			
		||||
        - "Shift_L y x k q g h f BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences        space         show_actions Return"
 | 
			
		||||
    upper:
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt PageUp PageDown ← →"
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt PageUp PageDown Home End"
 | 
			
		||||
        - "B É P O W V D L J Z"
 | 
			
		||||
        - "A U I E C T S R N M"
 | 
			
		||||
        - "Shift_L   Y X K Q G H F MinusSmall  BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences        space   ColonSmall   show_actions Return"
 | 
			
		||||
        - "Shift_L Y X K Q G H F BackSpace"
 | 
			
		||||
        - "show_numbers show_eschars preferences        space         show_actions Return"
 | 
			
		||||
    numbers:
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
			
		||||
        - "@ # € % & - _ + ( )"
 | 
			
		||||
        - "show_symbols   , \" ' : ; ! ?  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         show_actions Return"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         . Return"
 | 
			
		||||
    symbols:
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"    
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
			
		||||
        - "© ® £ $ ¥ ^ ° * { }"
 | 
			
		||||
        - "show_numbers   \\ / < > = [ ]  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         show_actions Return"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         . Return"
 | 
			
		||||
    eschars:
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"        
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt ↑ ↓ ← →"
 | 
			
		||||
        - "à â ç é è ê î ô ù û"
 | 
			
		||||
        - "À Â Ç É È Ê Î Ô Ù Û"
 | 
			
		||||
        - "show_numbers  æ œ ä ë ï ö ü  BackSpace"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         show_actions Return"
 | 
			
		||||
        - "show_letters show_eschars preferences        space         . Return"
 | 
			
		||||
    actions:
 | 
			
		||||
        - "EscSmall TabSmall Ctrl Alt PageUp PageDown Home End"
 | 
			
		||||
        - "F1  F2  F3  F4  F5  F6"
 | 
			
		||||
        - "F7  F8  F9  F10 F11 F12"
 | 
			
		||||
        - "Esc Tab Pause Insert Up Del"
 | 
			
		||||
        - "show_letters_actions Menu Break Left Down Right"
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
buttons:
 | 
			
		||||
    F1:
 | 
			
		||||
@ -228,14 +226,5 @@ buttons:
 | 
			
		||||
        outline: "wide"
 | 
			
		||||
        icon: "key-enter"
 | 
			
		||||
        keysym: "Return"
 | 
			
		||||
    ColonSmall:
 | 
			
		||||
        outline: "halfwidth"
 | 
			
		||||
        text: ":"
 | 
			
		||||
    MinusSmall:
 | 
			
		||||
        outline: "halfwidth"
 | 
			
		||||
        text: "-"
 | 
			
		||||
    SlashSmall:
 | 
			
		||||
        outline: "halfwidth"
 | 
			
		||||
        text: "/"
 | 
			
		||||
    .:
 | 
			
		||||
        outline: "halfwidth"
 | 
			
		||||
        outline: "large"
 | 
			
		||||
 | 
			
		||||
@ -1,44 +1,45 @@
 | 
			
		||||
# Language: Thai
 | 
			
		||||
---
 | 
			
		||||
outlines:
 | 
			
		||||
    default:       { width: 34,    height: 52 }
 | 
			
		||||
    large:         { width: 44,    height: 52 }
 | 
			
		||||
    altline:       { width: 52.67, height: 52 }
 | 
			
		||||
    wide:          { width: 86.67, height: 52 }
 | 
			
		||||
    change-view:   { width: 52.67, height: 52 }
 | 
			
		||||
    change-view-2: { width: 86.67, height: 52 }
 | 
			
		||||
    spaceline:     { width: 184,   height: 52 }
 | 
			
		||||
    special:       { width: 44,    height: 52 }
 | 
			
		||||
    placeholder:   { width: 34,    height: 52 }
 | 
			
		||||
    default:       { width: 37.142,  height: 52 }
 | 
			
		||||
    special:       { width: 37.142,  height: 52 }
 | 
			
		||||
    special-2:     { width: 40.856,  height: 52 }
 | 
			
		||||
    special-3:     { width: 74.284,  height: 52 }
 | 
			
		||||
    change-view:   { width: 37.142,  height: 52 }
 | 
			
		||||
    change-view-2: { width: 74.284,  height: 52 }
 | 
			
		||||
    spaceline:     { width: 215.424, height: 52 }
 | 
			
		||||
    large:         { width: 40.856,  height: 52 }
 | 
			
		||||
    placeholder:   { width: 37.142,  height: 52 }
 | 
			
		||||
    fill:          { width: 74.284,  height: 52 }
 | 
			
		||||
 | 
			
		||||
views:
 | 
			
		||||
    base:
 | 
			
		||||
        - "ๅ / _ ภ ถ ุ ึ ค ต จ ข ช"
 | 
			
		||||
        - "ๆ ไ ำ พ ะ ั ี ร น ย บ ล"
 | 
			
		||||
        - "ฟ ห ก ด เ ้ ่ า ส ว ง ฃ"
 | 
			
		||||
        - "Shift_L   ผ ป แ อ ิ ื ท ม ใ ฝ   BackSpace"
 | 
			
		||||
        - "show_numbers preferences         space        .-large Return"
 | 
			
		||||
        - "show_upper ผ ป แ อ ิ ื ท ม ใ ฝ BackSpace"
 | 
			
		||||
        - "show_numbers preferences space .-large Return"
 | 
			
		||||
    upper:
 | 
			
		||||
        - "+ ๑ ๒ ๓ ๔ ู ฿ ๕ ๖ ๗ ๘ ๙"
 | 
			
		||||
        - "๐ \" ฎ ฑ ธ ํ ๊ ณ ฯ ญ ฐ ,"
 | 
			
		||||
        - "ฤ ฆ ฏ โ ฌ ็ ๋ ษ ศ ซ . ฅ"
 | 
			
		||||
        - "Shift_L   ( ) ฉ ฮ ฺ ์ ? ฒ ฬ ฦ  BackSpace"
 | 
			
		||||
        - "show_numbers preferences         space        .-large Return"
 | 
			
		||||
        - "show_upper ( ) ฉ ฮ ฺ ์ ? ฒ ฬ ฦ BackSpace"
 | 
			
		||||
        - "show_numbers preferences space .-large Return"
 | 
			
		||||
    numbers:
 | 
			
		||||
        - "-- -- -- -- -- -- -- -- -- -- -- --"
 | 
			
		||||
        - "-- -- , \" ' : ; ! ? -- -- --"
 | 
			
		||||
        - "-- 1 2 3 4 5 6 7 8 9 0 --"
 | 
			
		||||
        - "show_symbols @ # $ % & - _ + ( ) BackSpace"
 | 
			
		||||
        - "show_letters preferences         space        .-large Return"
 | 
			
		||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
			
		||||
        - "@ # $ % & - _ + ( )"
 | 
			
		||||
        - "show_symbols , \" ' : ; ! ? BackSpace"
 | 
			
		||||
        - "show_letters preferences space .-large Return"
 | 
			
		||||
    symbols:
 | 
			
		||||
        - "-- -- -- -- -- -- -- -- -- -- -- --"
 | 
			
		||||
        - "-- -- \\ / < > = [ ] -- -- --"
 | 
			
		||||
        - "-- © ® £ € ¥ ^ ° * { } --"
 | 
			
		||||
        - "show_numbers_from_symbols ~ ` | · √ π τ ÷ × ¶ BackSpace"
 | 
			
		||||
        - "show_letters preferences         space        .-large Return"
 | 
			
		||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
			
		||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
			
		||||
        - "show_numbers_from_symbols \\ / < > = [ ] BackSpace"
 | 
			
		||||
        - "show_letters preferences space .-large Return"
 | 
			
		||||
 | 
			
		||||
buttons:
 | 
			
		||||
    Shift_L:
 | 
			
		||||
    show_upper:
 | 
			
		||||
        action:
 | 
			
		||||
            locking:
 | 
			
		||||
                lock_view: "upper"
 | 
			
		||||
@ -46,12 +47,12 @@ buttons:
 | 
			
		||||
        outline: "change-view"
 | 
			
		||||
        icon: "key-shift"
 | 
			
		||||
    BackSpace:
 | 
			
		||||
        outline: "altline"
 | 
			
		||||
        outline: "special"
 | 
			
		||||
        icon: "edit-clear-symbolic"
 | 
			
		||||
        action: "erase"
 | 
			
		||||
    preferences:
 | 
			
		||||
        action: "show_prefs"
 | 
			
		||||
        outline: "special"
 | 
			
		||||
        outline: "special-2"
 | 
			
		||||
        icon: "keyboard-mode-symbolic"
 | 
			
		||||
    show_numbers:
 | 
			
		||||
        action:
 | 
			
		||||
@ -61,7 +62,7 @@ buttons:
 | 
			
		||||
    show_numbers_from_symbols:
 | 
			
		||||
        action:
 | 
			
		||||
            set_view: "numbers"
 | 
			
		||||
        outline: "change-view"
 | 
			
		||||
        outline: "change-view-2"
 | 
			
		||||
        label: "123"
 | 
			
		||||
    show_letters:
 | 
			
		||||
        action:
 | 
			
		||||
@ -71,18 +72,42 @@ buttons:
 | 
			
		||||
    show_symbols:
 | 
			
		||||
        action:
 | 
			
		||||
            set_view: "symbols"
 | 
			
		||||
        outline: "change-view"
 | 
			
		||||
        outline: "change-view-2"
 | 
			
		||||
        label: "*/="
 | 
			
		||||
    space:
 | 
			
		||||
        outline: "spaceline"
 | 
			
		||||
        text: " "
 | 
			
		||||
    Return:
 | 
			
		||||
        outline: "wide"
 | 
			
		||||
        outline: "special-3"
 | 
			
		||||
        icon: "key-enter"
 | 
			
		||||
        keysym: "Return"
 | 
			
		||||
    --:
 | 
			
		||||
        outline: "placeholder"
 | 
			
		||||
        text: ""
 | 
			
		||||
    .-large:
 | 
			
		||||
        outline: "large"
 | 
			
		||||
        text: "."
 | 
			
		||||
    --:
 | 
			
		||||
        outline: "placeholder"
 | 
			
		||||
        text: ""
 | 
			
		||||
    5:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    6:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    "&":
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    -:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    "'":
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ::
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ¥:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ^:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    √:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    π:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    <:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ">":
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
@ -1,43 +1,45 @@
 | 
			
		||||
# Language: Thai
 | 
			
		||||
---
 | 
			
		||||
outlines:
 | 
			
		||||
    default:       { width: 75,  height: 56 }
 | 
			
		||||
    altline:       { width: 75,  height: 56 }
 | 
			
		||||
    wide:          { width: 135, height: 56 }
 | 
			
		||||
    change-view:   { width: 75,  height: 56 }
 | 
			
		||||
    change-view-2: { width: 135, height: 56 }
 | 
			
		||||
    spaceline:     { width: 480, height: 56 }
 | 
			
		||||
    special:       { width: 75,  height: 56 }
 | 
			
		||||
    placeholder:   { width: 75,  height: 56 }
 | 
			
		||||
    default:       { width: 56,    height: 42 }
 | 
			
		||||
    special:       { width: 56,    height: 42 }
 | 
			
		||||
    special-2:     { width: 61.6,  height: 42 }
 | 
			
		||||
    special-3:     { width: 112,   height: 42 }
 | 
			
		||||
    change-view:   { width: 56,    height: 42 }
 | 
			
		||||
    change-view-2: { width: 112,   height: 42 }
 | 
			
		||||
    spaceline:     { width: 324.8, height: 42 }
 | 
			
		||||
    large:         { width: 61.6,  height: 42 }
 | 
			
		||||
    placeholder:   { width: 56,    height: 42 }
 | 
			
		||||
    fill:          { width: 112,   height: 42 }
 | 
			
		||||
 | 
			
		||||
views:
 | 
			
		||||
    base:
 | 
			
		||||
        - "ๅ / _ ภ ถ ุ ึ ค ต จ ข ช"
 | 
			
		||||
        - "ๆ ไ ำ พ ะ ั ี ร น ย บ ล"
 | 
			
		||||
        - "ฟ ห ก ด เ ้ ่ า ส ว ง ฃ"
 | 
			
		||||
        - "Shift_L   ผ ป แ อ ิ ื ท ม ใ ฝ   BackSpace"
 | 
			
		||||
        - "show_numbers preferences         space        . Return"
 | 
			
		||||
        - "show_upper ผ ป แ อ ิ ื ท ม ใ ฝ BackSpace"
 | 
			
		||||
        - "show_numbers preferences space .-large Return"
 | 
			
		||||
    upper:
 | 
			
		||||
        - "+ ๑ ๒ ๓ ๔ ู ฿ ๕ ๖ ๗ ๘ ๙"
 | 
			
		||||
        - "๐ \" ฎ ฑ ธ ํ ๊ ณ ฯ ญ ฐ ,"
 | 
			
		||||
        - "ฤ ฆ ฏ โ ฌ ็ ๋ ษ ศ ซ . ฅ"
 | 
			
		||||
        - "Shift_L   ( ) ฉ ฮ ฺ ์ ? ฒ ฬ ฦ  BackSpace"
 | 
			
		||||
        - "show_numbers preferences         space        . Return"
 | 
			
		||||
        - "show_upper ( ) ฉ ฮ ฺ ์ ? ฒ ฬ ฦ BackSpace"
 | 
			
		||||
        - "show_numbers preferences space .-large Return"
 | 
			
		||||
    numbers:
 | 
			
		||||
        - "-- -- -- -- -- -- -- -- -- -- -- --"
 | 
			
		||||
        - "-- -- , \" ' : ; ! ? -- -- --"
 | 
			
		||||
        - "-- 1 2 3 4 5 6 7 8 9 0 --"
 | 
			
		||||
        - "show_symbols @ # $ % & - _ + ( ) BackSpace"
 | 
			
		||||
        - "show_letters preferences         space        . Return"
 | 
			
		||||
        - "1 2 3 4 5 6 7 8 9 0"
 | 
			
		||||
        - "@ # $ % & - _ + ( )"
 | 
			
		||||
        - "show_symbols , \" ' : ; ! ? BackSpace"
 | 
			
		||||
        - "show_letters preferences space .-large Return"
 | 
			
		||||
    symbols:
 | 
			
		||||
        - "-- -- -- -- -- -- -- -- -- -- -- --"
 | 
			
		||||
        - "-- -- \\ / < > = [ ] -- -- --"
 | 
			
		||||
        - "-- © ® £ € ¥ ^ ° * { } --"
 | 
			
		||||
        - "show_numbers_from_symbols ~ ` | · √ π τ ÷ × ¶ BackSpace"
 | 
			
		||||
        - "show_letters preferences         space        . Return"
 | 
			
		||||
        - "© ® £ € ¥ ^ ° * { }"
 | 
			
		||||
        - "~ ` | · √ π τ ÷ × ¶"
 | 
			
		||||
        - "show_numbers_from_symbols \\ / < > = [ ] BackSpace"
 | 
			
		||||
        - "show_letters preferences space .-large Return"
 | 
			
		||||
 | 
			
		||||
buttons:
 | 
			
		||||
    Shift_L:
 | 
			
		||||
    show_upper:
 | 
			
		||||
        action:
 | 
			
		||||
            locking:
 | 
			
		||||
                lock_view: "upper"
 | 
			
		||||
@ -45,12 +47,12 @@ buttons:
 | 
			
		||||
        outline: "change-view"
 | 
			
		||||
        icon: "key-shift"
 | 
			
		||||
    BackSpace:
 | 
			
		||||
        outline: "altline"
 | 
			
		||||
        outline: "special"
 | 
			
		||||
        icon: "edit-clear-symbolic"
 | 
			
		||||
        action: "erase"
 | 
			
		||||
    preferences:
 | 
			
		||||
        action: "show_prefs"
 | 
			
		||||
        outline: "special"
 | 
			
		||||
        outline: "special-2"
 | 
			
		||||
        icon: "keyboard-mode-symbolic"
 | 
			
		||||
    show_numbers:
 | 
			
		||||
        action:
 | 
			
		||||
@ -60,7 +62,7 @@ buttons:
 | 
			
		||||
    show_numbers_from_symbols:
 | 
			
		||||
        action:
 | 
			
		||||
            set_view: "numbers"
 | 
			
		||||
        outline: "change-view"
 | 
			
		||||
        outline: "change-view-2"
 | 
			
		||||
        label: "123"
 | 
			
		||||
    show_letters:
 | 
			
		||||
        action:
 | 
			
		||||
@ -70,15 +72,42 @@ buttons:
 | 
			
		||||
    show_symbols:
 | 
			
		||||
        action:
 | 
			
		||||
            set_view: "symbols"
 | 
			
		||||
        outline: "change-view"
 | 
			
		||||
        outline: "change-view-2"
 | 
			
		||||
        label: "*/="
 | 
			
		||||
    space:
 | 
			
		||||
        outline: "spaceline"
 | 
			
		||||
        text: " "
 | 
			
		||||
    Return:
 | 
			
		||||
        outline: "wide"
 | 
			
		||||
        outline: "special-3"
 | 
			
		||||
        icon: "key-enter"
 | 
			
		||||
        keysym: "Return"
 | 
			
		||||
    --:
 | 
			
		||||
        outline: "placeholder"
 | 
			
		||||
        text: ""
 | 
			
		||||
        text: ""
 | 
			
		||||
    .-large:
 | 
			
		||||
        outline: "large"
 | 
			
		||||
        text: "."
 | 
			
		||||
    5:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    6:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    "&":
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    -:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    "'":
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ::
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ¥:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ^:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    √:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    π:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    <:
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
    ">":
 | 
			
		||||
        outline: "fill"
 | 
			
		||||
							
								
								
									
										19
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							
							
						
						
									
										19
									
								
								debian/changelog
									
									
									
									
										vendored
									
									
								
							@ -1,3 +1,22 @@
 | 
			
		||||
squeekboard (1.42.1) experimental; urgency=medium
 | 
			
		||||
 | 
			
		||||
  [ Sebastian Krzyszkowiak ]
 | 
			
		||||
  * keyboard: Only generate keycodes from an allowlist
 | 
			
		||||
 | 
			
		||||
  [ MoonlightWave-12 ]
 | 
			
		||||
  * submission.rs: Restore active modifiers after changing keymaps
 | 
			
		||||
 | 
			
		||||
 -- MoonlightWave-12 <135532-MoonlightWave-12@users.noreply.gitlab.gnome.org>  Thu, 17 Oct 2024 17:33:18 +0200
 | 
			
		||||
 | 
			
		||||
squeekboard (1.42.0) experimental; urgency=medium
 | 
			
		||||
 | 
			
		||||
  * */meson.build: Fix warnings about features deprecated since Meson 0.56
 | 
			
		||||
  * layouts: Adjust French (fr+bepo) terminal-layout and make it available
 | 
			
		||||
  * layouts: Improve the size of the Thai (th) layout
 | 
			
		||||
  * Cargo.lock: Update dependencies
 | 
			
		||||
 | 
			
		||||
 -- MoonlightWave-12 <135532-MoonlightWave-12@users.noreply.gitlab.gnome.org>  Mon, 30 Sep 2024 11:13:46 +0200
 | 
			
		||||
 | 
			
		||||
squeekboard (1.42.0~rc1) experimental; urgency=medium
 | 
			
		||||
 | 
			
		||||
  [ MoonlightWave-12 ]
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
project(
 | 
			
		||||
    'squeekboard',
 | 
			
		||||
    'c', 'rust',
 | 
			
		||||
    version: '1.42.0.rc1',
 | 
			
		||||
    version: '1.42.1',
 | 
			
		||||
    license: 'GPLv3',
 | 
			
		||||
    meson_version: '>=1.0.0',
 | 
			
		||||
    default_options: [
 | 
			
		||||
@ -93,7 +93,7 @@ copy_cargo_toml = run_command('cp', 'Cargo.toml', 'meson_Cargo.toml.in', check:
 | 
			
		||||
prepare_cargo_toml = run_command('sed', '-i', 's/path = "/path = "@path@\//', 'meson_Cargo.toml.in', check: true)
 | 
			
		||||
 | 
			
		||||
path_data = configuration_data()
 | 
			
		||||
path_data.set('path', meson.source_root())
 | 
			
		||||
path_data.set('path', meson.project_source_root())
 | 
			
		||||
cargo_toml = configure_file(
 | 
			
		||||
    input: 'meson_Cargo.toml.in',
 | 
			
		||||
    output: 'Cargo.toml',
 | 
			
		||||
 | 
			
		||||
@ -1,5 +1,5 @@
 | 
			
		||||
wayland_protos = dependency('wayland-protocols', version: '>=1.12')
 | 
			
		||||
wl_protocol_dir = wayland_protos.get_pkgconfig_variable('pkgdatadir')
 | 
			
		||||
wl_protocol_dir = wayland_protos.get_variable(pkgconfig : 'pkgdatadir')
 | 
			
		||||
 | 
			
		||||
wl_scanner = find_program('wayland-scanner')
 | 
			
		||||
gen_scanner_client_header = generator(wl_scanner,
 | 
			
		||||
 | 
			
		||||
@ -4,6 +4,7 @@
 | 
			
		||||
use crate::action::Action;
 | 
			
		||||
use crate::layout;
 | 
			
		||||
use crate::util;
 | 
			
		||||
use crate::keycodes::{*};
 | 
			
		||||
use std::collections::HashMap;
 | 
			
		||||
use std::fmt;
 | 
			
		||||
use std::io;
 | 
			
		||||
@ -104,10 +105,21 @@ fn sorted<'a, I: Iterator<Item=String>>(
 | 
			
		||||
pub fn generate_keycodes<'a, C: IntoIterator<Item=String>>(
 | 
			
		||||
    key_names: C,
 | 
			
		||||
) -> HashMap<String, KeyCode> {
 | 
			
		||||
    // Some broken clients try to interpret keymaps as if they were input
 | 
			
		||||
    // sequences coming from evdev. Workaround that by only using codes
 | 
			
		||||
    // that directly produce characters.
 | 
			
		||||
    let allowed = [KEY_1, KEY_2, KEY_3, KEY_4, KEY_5, KEY_6, KEY_7, KEY_8,
 | 
			
		||||
                   KEY_9, KEY_0, KEY_MINUS, KEY_EQUAL, KEY_Q, KEY_W, KEY_E,
 | 
			
		||||
                   KEY_R, KEY_T, KEY_Y, KEY_U, KEY_I, KEY_O, KEY_P, KEY_LEFTBRACE,
 | 
			
		||||
                   KEY_RIGHTBRACE, KEY_A, KEY_S, KEY_D, KEY_F, KEY_G, KEY_H,
 | 
			
		||||
                   KEY_J, KEY_K, KEY_L, KEY_SEMICOLON, KEY_APOSTROPHE, KEY_GRAVE,
 | 
			
		||||
                   KEY_BACKSLASH, KEY_Z, KEY_X, KEY_C, KEY_V, KEY_B, KEY_N,
 | 
			
		||||
                   KEY_M, KEY_COMMA, KEY_DOT, KEY_SLASH];
 | 
			
		||||
 | 
			
		||||
    HashMap::from_iter(
 | 
			
		||||
        // Sort to remove a source of indeterminism in keycode assignment.
 | 
			
		||||
        sorted(key_names.into_iter())
 | 
			
		||||
            .zip(util::cycle_count(9..255))
 | 
			
		||||
            .zip(util::cycle_count((9..255).filter(|x| allowed.contains(&(x - 8)))))
 | 
			
		||||
            .map(|(name, (code, keymap_idx))| (
 | 
			
		||||
                String::from(name),
 | 
			
		||||
                KeyCode { code, keymap_idx },
 | 
			
		||||
@ -326,13 +338,10 @@ mod tests {
 | 
			
		||||
 | 
			
		||||
    #[test]
 | 
			
		||||
    fn test_symbolmap_overflow() {
 | 
			
		||||
        // The 257th key (U1101) is interesting.
 | 
			
		||||
        // Use Unicode encoding for being able to use in xkb keymaps.
 | 
			
		||||
        let keynames = (0..258).map(|num| format!("U{:04X}", 0x1000 + num));
 | 
			
		||||
        let keycodes = generate_keycodes(keynames);
 | 
			
		||||
        
 | 
			
		||||
        // test now
 | 
			
		||||
        let code = keycodes.get("U1101").expect("Did not find the tested keysym");
 | 
			
		||||
        assert_eq!(code.keymap_idx, 1);
 | 
			
		||||
 | 
			
		||||
        assert_eq!(keycodes.into_iter().filter(|(_name, keycode)| keycode.code > 255).count(), 0);
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
							
								
								
									
										661
									
								
								src/keycodes.rs
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										661
									
								
								src/keycodes.rs
									
									
									
									
									
										Normal file
									
								
							@ -0,0 +1,661 @@
 | 
			
		||||
// Keycodes from <linux/input-event-codes.h>
 | 
			
		||||
 | 
			
		||||
pub const KEY_RESERVED: u32 = 0;
 | 
			
		||||
pub const KEY_ESC: u32 = 1;
 | 
			
		||||
pub const KEY_1: u32 = 2;
 | 
			
		||||
pub const KEY_2: u32 = 3;
 | 
			
		||||
pub const KEY_3: u32 = 4;
 | 
			
		||||
pub const KEY_4: u32 = 5;
 | 
			
		||||
pub const KEY_5: u32 = 6;
 | 
			
		||||
pub const KEY_6: u32 = 7;
 | 
			
		||||
pub const KEY_7: u32 = 8;
 | 
			
		||||
pub const KEY_8: u32 = 9;
 | 
			
		||||
pub const KEY_9: u32 = 10;
 | 
			
		||||
pub const KEY_0: u32 = 11;
 | 
			
		||||
pub const KEY_MINUS: u32 = 12;
 | 
			
		||||
pub const KEY_EQUAL: u32 = 13;
 | 
			
		||||
pub const KEY_BACKSPACE: u32 = 14;
 | 
			
		||||
pub const KEY_TAB: u32 = 15;
 | 
			
		||||
pub const KEY_Q: u32 = 16;
 | 
			
		||||
pub const KEY_W: u32 = 17;
 | 
			
		||||
pub const KEY_E: u32 = 18;
 | 
			
		||||
pub const KEY_R: u32 = 19;
 | 
			
		||||
pub const KEY_T: u32 = 20;
 | 
			
		||||
pub const KEY_Y: u32 = 21;
 | 
			
		||||
pub const KEY_U: u32 = 22;
 | 
			
		||||
pub const KEY_I: u32 = 23;
 | 
			
		||||
pub const KEY_O: u32 = 24;
 | 
			
		||||
pub const KEY_P: u32 = 25;
 | 
			
		||||
pub const KEY_LEFTBRACE: u32 = 26;
 | 
			
		||||
pub const KEY_RIGHTBRACE: u32 = 27;
 | 
			
		||||
pub const KEY_ENTER: u32 = 28;
 | 
			
		||||
pub const KEY_LEFTCTRL: u32 = 29;
 | 
			
		||||
pub const KEY_A: u32 = 30;
 | 
			
		||||
pub const KEY_S: u32 = 31;
 | 
			
		||||
pub const KEY_D: u32 = 32;
 | 
			
		||||
pub const KEY_F: u32 = 33;
 | 
			
		||||
pub const KEY_G: u32 = 34;
 | 
			
		||||
pub const KEY_H: u32 = 35;
 | 
			
		||||
pub const KEY_J: u32 = 36;
 | 
			
		||||
pub const KEY_K: u32 = 37;
 | 
			
		||||
pub const KEY_L: u32 = 38;
 | 
			
		||||
pub const KEY_SEMICOLON: u32 = 39;
 | 
			
		||||
pub const KEY_APOSTROPHE: u32 = 40;
 | 
			
		||||
pub const KEY_GRAVE: u32 = 41;
 | 
			
		||||
pub const KEY_LEFTSHIFT: u32 = 42;
 | 
			
		||||
pub const KEY_BACKSLASH: u32 = 43;
 | 
			
		||||
pub const KEY_Z: u32 = 44;
 | 
			
		||||
pub const KEY_X: u32 = 45;
 | 
			
		||||
pub const KEY_C: u32 = 46;
 | 
			
		||||
pub const KEY_V: u32 = 47;
 | 
			
		||||
pub const KEY_B: u32 = 48;
 | 
			
		||||
pub const KEY_N: u32 = 49;
 | 
			
		||||
pub const KEY_M: u32 = 50;
 | 
			
		||||
pub const KEY_COMMA: u32 = 51;
 | 
			
		||||
pub const KEY_DOT: u32 = 52;
 | 
			
		||||
pub const KEY_SLASH: u32 = 53;
 | 
			
		||||
pub const KEY_RIGHTSHIFT: u32 = 54;
 | 
			
		||||
pub const KEY_KPASTERISK: u32 = 55;
 | 
			
		||||
pub const KEY_LEFTALT: u32 = 56;
 | 
			
		||||
pub const KEY_SPACE: u32 = 57;
 | 
			
		||||
pub const KEY_CAPSLOCK: u32 = 58;
 | 
			
		||||
pub const KEY_F1: u32 = 59;
 | 
			
		||||
pub const KEY_F2: u32 = 60;
 | 
			
		||||
pub const KEY_F3: u32 = 61;
 | 
			
		||||
pub const KEY_F4: u32 = 62;
 | 
			
		||||
pub const KEY_F5: u32 = 63;
 | 
			
		||||
pub const KEY_F6: u32 = 64;
 | 
			
		||||
pub const KEY_F7: u32 = 65;
 | 
			
		||||
pub const KEY_F8: u32 = 66;
 | 
			
		||||
pub const KEY_F9: u32 = 67;
 | 
			
		||||
pub const KEY_F10: u32 = 68;
 | 
			
		||||
pub const KEY_NUMLOCK: u32 = 69;
 | 
			
		||||
pub const KEY_SCROLLLOCK: u32 = 70;
 | 
			
		||||
pub const KEY_KP7: u32 = 71;
 | 
			
		||||
pub const KEY_KP8: u32 = 72;
 | 
			
		||||
pub const KEY_KP9: u32 = 73;
 | 
			
		||||
pub const KEY_KPMINUS: u32 = 74;
 | 
			
		||||
pub const KEY_KP4: u32 = 75;
 | 
			
		||||
pub const KEY_KP5: u32 = 76;
 | 
			
		||||
pub const KEY_KP6: u32 = 77;
 | 
			
		||||
pub const KEY_KPPLUS: u32 = 78;
 | 
			
		||||
pub const KEY_KP1: u32 = 79;
 | 
			
		||||
pub const KEY_KP2: u32 = 80;
 | 
			
		||||
pub const KEY_KP3: u32 = 81;
 | 
			
		||||
pub const KEY_KP0: u32 = 82;
 | 
			
		||||
pub const KEY_KPDOT: u32 = 83;
 | 
			
		||||
 | 
			
		||||
pub const KEY_ZENKAKUHANKAKU: u32 = 85;
 | 
			
		||||
pub const KEY_102ND: u32 = 86;
 | 
			
		||||
pub const KEY_F11: u32 = 87;
 | 
			
		||||
pub const KEY_F12: u32 = 88;
 | 
			
		||||
pub const KEY_RO: u32 = 89;
 | 
			
		||||
pub const KEY_KATAKANA: u32 = 90;
 | 
			
		||||
pub const KEY_HIRAGANA: u32 = 91;
 | 
			
		||||
pub const KEY_HENKAN: u32 = 92;
 | 
			
		||||
pub const KEY_KATAKANAHIRAGANA: u32 = 93;
 | 
			
		||||
pub const KEY_MUHENKAN: u32 = 94;
 | 
			
		||||
pub const KEY_KPJPCOMMA: u32 = 95;
 | 
			
		||||
pub const KEY_KPENTER: u32 = 96;
 | 
			
		||||
pub const KEY_RIGHTCTRL: u32 = 97;
 | 
			
		||||
pub const KEY_KPSLASH: u32 = 98;
 | 
			
		||||
pub const KEY_SYSRQ: u32 = 99;
 | 
			
		||||
pub const KEY_RIGHTALT: u32 = 100;
 | 
			
		||||
pub const KEY_LINEFEED: u32 = 101;
 | 
			
		||||
pub const KEY_HOME: u32 = 102;
 | 
			
		||||
pub const KEY_UP: u32 = 103;
 | 
			
		||||
pub const KEY_PAGEUP: u32 = 104;
 | 
			
		||||
pub const KEY_LEFT: u32 = 105;
 | 
			
		||||
pub const KEY_RIGHT: u32 = 106;
 | 
			
		||||
pub const KEY_END: u32 = 107;
 | 
			
		||||
pub const KEY_DOWN: u32 = 108;
 | 
			
		||||
pub const KEY_PAGEDOWN: u32 = 109;
 | 
			
		||||
pub const KEY_INSERT: u32 = 110;
 | 
			
		||||
pub const KEY_DELETE: u32 = 111;
 | 
			
		||||
pub const KEY_MACRO: u32 = 112;
 | 
			
		||||
pub const KEY_MUTE: u32 = 113;
 | 
			
		||||
pub const KEY_VOLUMEDOWN: u32 = 114;
 | 
			
		||||
pub const KEY_VOLUMEUP: u32 = 115;
 | 
			
		||||
pub const KEY_POWER: u32 = 116;
 | 
			
		||||
pub const KEY_KPEQUAL: u32 = 117;
 | 
			
		||||
pub const KEY_KPPLUSMINUS: u32 = 118;
 | 
			
		||||
pub const KEY_PAUSE: u32 = 119;
 | 
			
		||||
pub const KEY_SCALE: u32 = 120;
 | 
			
		||||
 | 
			
		||||
pub const KEY_KPCOMMA: u32 = 121;
 | 
			
		||||
pub const KEY_HANGEUL: u32 = 122;
 | 
			
		||||
pub const KEY_HANGUEL: u32 = KEY_HANGEUL;
 | 
			
		||||
pub const KEY_HANJA: u32 = 123;
 | 
			
		||||
pub const KEY_YEN: u32 = 124;
 | 
			
		||||
pub const KEY_LEFTMETA: u32 = 125;
 | 
			
		||||
pub const KEY_RIGHTMETA: u32 = 126;
 | 
			
		||||
pub const KEY_COMPOSE: u32 = 127;
 | 
			
		||||
 | 
			
		||||
pub const KEY_STOP: u32 = 128;
 | 
			
		||||
pub const KEY_AGAIN: u32 = 129;
 | 
			
		||||
pub const KEY_PROPS: u32 = 130;
 | 
			
		||||
pub const KEY_UNDO: u32 = 131;
 | 
			
		||||
pub const KEY_FRONT: u32 = 132;
 | 
			
		||||
pub const KEY_COPY: u32 = 133;
 | 
			
		||||
pub const KEY_OPEN: u32 = 134;
 | 
			
		||||
pub const KEY_PASTE: u32 = 135;
 | 
			
		||||
pub const KEY_FIND: u32 = 136;
 | 
			
		||||
pub const KEY_CUT: u32 = 137;
 | 
			
		||||
pub const KEY_HELP: u32 = 138;
 | 
			
		||||
pub const KEY_MENU: u32 = 139;
 | 
			
		||||
pub const KEY_CALC: u32 = 140;
 | 
			
		||||
pub const KEY_SETUP: u32 = 141;
 | 
			
		||||
pub const KEY_SLEEP: u32 = 142;
 | 
			
		||||
pub const KEY_WAKEUP: u32 = 143;
 | 
			
		||||
pub const KEY_FILE: u32 = 144;
 | 
			
		||||
pub const KEY_SENDFILE: u32 = 145;
 | 
			
		||||
pub const KEY_DELETEFILE: u32 = 146;
 | 
			
		||||
pub const KEY_XFER: u32 = 147;
 | 
			
		||||
pub const KEY_PROG1: u32 = 148;
 | 
			
		||||
pub const KEY_PROG2: u32 = 149;
 | 
			
		||||
pub const KEY_WWW: u32 = 150;
 | 
			
		||||
pub const KEY_MSDOS: u32 = 151;
 | 
			
		||||
pub const KEY_COFFEE: u32 = 152;
 | 
			
		||||
pub const KEY_SCREENLOCK: u32 = KEY_COFFEE;
 | 
			
		||||
pub const KEY_ROTATE_DISPLAY: u32 = 153;
 | 
			
		||||
pub const KEY_DIRECTION: u32 = KEY_ROTATE_DISPLAY;
 | 
			
		||||
pub const KEY_CYCLEWINDOWS: u32 = 154;
 | 
			
		||||
pub const KEY_MAIL: u32 = 155;
 | 
			
		||||
pub const KEY_BOOKMARKS: u32 = 156;
 | 
			
		||||
pub const KEY_COMPUTER: u32 = 157;
 | 
			
		||||
pub const KEY_BACK: u32 = 158;
 | 
			
		||||
pub const KEY_FORWARD: u32 = 159;
 | 
			
		||||
pub const KEY_CLOSECD: u32 = 160;
 | 
			
		||||
pub const KEY_EJECTCD: u32 = 161;
 | 
			
		||||
pub const KEY_EJECTCLOSECD: u32 = 162;
 | 
			
		||||
pub const KEY_NEXTSONG: u32 = 163;
 | 
			
		||||
pub const KEY_PLAYPAUSE: u32 = 164;
 | 
			
		||||
pub const KEY_PREVIOUSSONG: u32 = 165;
 | 
			
		||||
pub const KEY_STOPCD: u32 = 166;
 | 
			
		||||
pub const KEY_RECORD: u32 = 167;
 | 
			
		||||
pub const KEY_REWIND: u32 = 168;
 | 
			
		||||
pub const KEY_PHONE: u32 = 169;
 | 
			
		||||
pub const KEY_ISO: u32 = 170;
 | 
			
		||||
pub const KEY_CONFIG: u32 = 171;
 | 
			
		||||
pub const KEY_HOMEPAGE: u32 = 172;
 | 
			
		||||
pub const KEY_REFRESH: u32 = 173;
 | 
			
		||||
pub const KEY_EXIT: u32 = 174;
 | 
			
		||||
pub const KEY_MOVE: u32 = 175;
 | 
			
		||||
pub const KEY_EDIT: u32 = 176;
 | 
			
		||||
pub const KEY_SCROLLUP: u32 = 177;
 | 
			
		||||
pub const KEY_SCROLLDOWN: u32 = 178;
 | 
			
		||||
pub const KEY_KPLEFTPAREN: u32 = 179;
 | 
			
		||||
pub const KEY_KPRIGHTPAREN: u32 = 180;
 | 
			
		||||
pub const KEY_NEW: u32 = 181;
 | 
			
		||||
pub const KEY_REDO: u32 = 182;
 | 
			
		||||
 | 
			
		||||
pub const KEY_F13: u32 = 183;
 | 
			
		||||
pub const KEY_F14: u32 = 184;
 | 
			
		||||
pub const KEY_F15: u32 = 185;
 | 
			
		||||
pub const KEY_F16: u32 = 186;
 | 
			
		||||
pub const KEY_F17: u32 = 187;
 | 
			
		||||
pub const KEY_F18: u32 = 188;
 | 
			
		||||
pub const KEY_F19: u32 = 189;
 | 
			
		||||
pub const KEY_F20: u32 = 190;
 | 
			
		||||
pub const KEY_F21: u32 = 191;
 | 
			
		||||
pub const KEY_F22: u32 = 192;
 | 
			
		||||
pub const KEY_F23: u32 = 193;
 | 
			
		||||
pub const KEY_F24: u32 = 194;
 | 
			
		||||
 | 
			
		||||
pub const KEY_PLAYCD: u32 = 200;
 | 
			
		||||
pub const KEY_PAUSECD: u32 = 201;
 | 
			
		||||
pub const KEY_PROG3: u32 = 202;
 | 
			
		||||
pub const KEY_PROG4: u32 = 203;
 | 
			
		||||
pub const KEY_DASHBOARD: u32 = 204;
 | 
			
		||||
pub const KEY_SUSPEND: u32 = 205;
 | 
			
		||||
pub const KEY_CLOSE: u32 = 206;
 | 
			
		||||
pub const KEY_PLAY: u32 = 207;
 | 
			
		||||
pub const KEY_FASTFORWARD: u32 = 208;
 | 
			
		||||
pub const KEY_BASSBOOST: u32 = 209;
 | 
			
		||||
pub const KEY_PRINT: u32 = 210;
 | 
			
		||||
pub const KEY_HP: u32 = 211;
 | 
			
		||||
pub const KEY_CAMERA: u32 = 212;
 | 
			
		||||
pub const KEY_SOUND: u32 = 213;
 | 
			
		||||
pub const KEY_QUESTION: u32 = 214;
 | 
			
		||||
pub const KEY_EMAIL: u32 = 215;
 | 
			
		||||
pub const KEY_CHAT: u32 = 216;
 | 
			
		||||
pub const KEY_SEARCH: u32 = 217;
 | 
			
		||||
pub const KEY_CONNECT: u32 = 218;
 | 
			
		||||
pub const KEY_FINANCE: u32 = 219;
 | 
			
		||||
pub const KEY_SPORT: u32 = 220;
 | 
			
		||||
pub const KEY_SHOP: u32 = 221;
 | 
			
		||||
pub const KEY_ALTERASE: u32 = 222;
 | 
			
		||||
pub const KEY_CANCEL: u32 = 223;
 | 
			
		||||
pub const KEY_BRIGHTNESSDOWN: u32 = 224;
 | 
			
		||||
pub const KEY_BRIGHTNESSUP: u32 = 225;
 | 
			
		||||
pub const KEY_MEDIA: u32 = 226;
 | 
			
		||||
 | 
			
		||||
pub const KEY_SWITCHVIDEOMODE: u32 = 227;
 | 
			
		||||
pub const KEY_KBDILLUMTOGGLE: u32 = 228;
 | 
			
		||||
pub const KEY_KBDILLUMDOWN: u32 = 229;
 | 
			
		||||
pub const KEY_KBDILLUMUP: u32 = 230;
 | 
			
		||||
 | 
			
		||||
pub const KEY_SEND: u32 = 231;
 | 
			
		||||
pub const KEY_REPLY: u32 = 232;
 | 
			
		||||
pub const KEY_FORWARDMAIL: u32 = 233;
 | 
			
		||||
pub const KEY_SAVE: u32 = 234;
 | 
			
		||||
pub const KEY_DOCUMENTS: u32 = 235;
 | 
			
		||||
 | 
			
		||||
pub const KEY_BATTERY: u32 = 236;
 | 
			
		||||
 | 
			
		||||
pub const KEY_BLUETOOTH: u32 = 237;
 | 
			
		||||
pub const KEY_WLAN: u32 = 238;
 | 
			
		||||
pub const KEY_UWB: u32 = 239;
 | 
			
		||||
 | 
			
		||||
pub const KEY_UNKNOWN: u32 = 240;
 | 
			
		||||
 | 
			
		||||
pub const KEY_VIDEO_NEXT: u32 = 241;
 | 
			
		||||
pub const KEY_VIDEO_PREV: u32 = 242;
 | 
			
		||||
pub const KEY_BRIGHTNESS_CYCLE: u32 = 243;
 | 
			
		||||
pub const KEY_BRIGHTNESS_AUTO: u32 = 244;
 | 
			
		||||
pub const KEY_BRIGHTNESS_ZERO: u32 = KEY_BRIGHTNESS_AUTO;
 | 
			
		||||
pub const KEY_DISPLAY_OFF: u32 = 245;
 | 
			
		||||
 | 
			
		||||
pub const KEY_WWAN: u32 = 246;
 | 
			
		||||
pub const KEY_WIMAX: u32 = KEY_WWAN;
 | 
			
		||||
pub const KEY_RFKILL: u32 = 247;
 | 
			
		||||
 | 
			
		||||
pub const KEY_MICMUTE: u32 = 248;
 | 
			
		||||
 | 
			
		||||
pub const BTN_MISC: u32 = 0x100;
 | 
			
		||||
pub const BTN_0: u32 = 0x100;
 | 
			
		||||
pub const BTN_1: u32 = 0x101;
 | 
			
		||||
pub const BTN_2: u32 = 0x102;
 | 
			
		||||
pub const BTN_3: u32 = 0x103;
 | 
			
		||||
pub const BTN_4: u32 = 0x104;
 | 
			
		||||
pub const BTN_5: u32 = 0x105;
 | 
			
		||||
pub const BTN_6: u32 = 0x106;
 | 
			
		||||
pub const BTN_7: u32 = 0x107;
 | 
			
		||||
pub const BTN_8: u32 = 0x108;
 | 
			
		||||
pub const BTN_9: u32 = 0x109;
 | 
			
		||||
 | 
			
		||||
pub const BTN_MOUSE: u32 = 0x110;
 | 
			
		||||
pub const BTN_LEFT: u32 = 0x110;
 | 
			
		||||
pub const BTN_RIGHT: u32 = 0x111;
 | 
			
		||||
pub const BTN_MIDDLE: u32 = 0x112;
 | 
			
		||||
pub const BTN_SIDE: u32 = 0x113;
 | 
			
		||||
pub const BTN_EXTRA: u32 = 0x114;
 | 
			
		||||
pub const BTN_FORWARD: u32 = 0x115;
 | 
			
		||||
pub const BTN_BACK: u32 = 0x116;
 | 
			
		||||
pub const BTN_TASK: u32 = 0x117;
 | 
			
		||||
 | 
			
		||||
pub const BTN_JOYSTICK: u32 = 0x120;
 | 
			
		||||
pub const BTN_TRIGGER: u32 = 0x120;
 | 
			
		||||
pub const BTN_THUMB: u32 = 0x121;
 | 
			
		||||
pub const BTN_THUMB2: u32 = 0x122;
 | 
			
		||||
pub const BTN_TOP: u32 = 0x123;
 | 
			
		||||
pub const BTN_TOP2: u32 = 0x124;
 | 
			
		||||
pub const BTN_PINKIE: u32 = 0x125;
 | 
			
		||||
pub const BTN_BASE: u32 = 0x126;
 | 
			
		||||
pub const BTN_BASE2: u32 = 0x127;
 | 
			
		||||
pub const BTN_BASE3: u32 = 0x128;
 | 
			
		||||
pub const BTN_BASE4: u32 = 0x129;
 | 
			
		||||
pub const BTN_BASE5: u32 = 0x12a;
 | 
			
		||||
pub const BTN_BASE6: u32 = 0x12b;
 | 
			
		||||
pub const BTN_DEAD: u32 = 0x12f;
 | 
			
		||||
 | 
			
		||||
pub const BTN_GAMEPAD: u32 = 0x130;
 | 
			
		||||
pub const BTN_SOUTH: u32 = 0x130;
 | 
			
		||||
pub const BTN_A: u32 = BTN_SOUTH;
 | 
			
		||||
pub const BTN_EAST: u32 = 0x131;
 | 
			
		||||
pub const BTN_B: u32 = BTN_EAST;
 | 
			
		||||
pub const BTN_C: u32 = 0x132;
 | 
			
		||||
pub const BTN_NORTH: u32 = 0x133;
 | 
			
		||||
pub const BTN_X: u32 = BTN_NORTH;
 | 
			
		||||
pub const BTN_WEST: u32 = 0x134;
 | 
			
		||||
pub const BTN_Y: u32 = BTN_WEST;
 | 
			
		||||
pub const BTN_Z: u32 = 0x135;
 | 
			
		||||
pub const BTN_TL: u32 = 0x136;
 | 
			
		||||
pub const BTN_TR: u32 = 0x137;
 | 
			
		||||
pub const BTN_TL2: u32 = 0x138;
 | 
			
		||||
pub const BTN_TR2: u32 = 0x139;
 | 
			
		||||
pub const BTN_SELECT: u32 = 0x13a;
 | 
			
		||||
pub const BTN_START: u32 = 0x13b;
 | 
			
		||||
pub const BTN_MODE: u32 = 0x13c;
 | 
			
		||||
pub const BTN_THUMBL: u32 = 0x13d;
 | 
			
		||||
pub const BTN_THUMBR: u32 = 0x13e;
 | 
			
		||||
 | 
			
		||||
pub const BTN_DIGI: u32 = 0x140;
 | 
			
		||||
pub const BTN_TOOL_PEN: u32 = 0x140;
 | 
			
		||||
pub const BTN_TOOL_RUBBER: u32 = 0x141;
 | 
			
		||||
pub const BTN_TOOL_BRUSH: u32 = 0x142;
 | 
			
		||||
pub const BTN_TOOL_PENCIL: u32 = 0x143;
 | 
			
		||||
pub const BTN_TOOL_AIRBRUSH: u32 = 0x144;
 | 
			
		||||
pub const BTN_TOOL_FINGER: u32 = 0x145;
 | 
			
		||||
pub const BTN_TOOL_MOUSE: u32 = 0x146;
 | 
			
		||||
pub const BTN_TOOL_LENS: u32 = 0x147;
 | 
			
		||||
pub const BTN_TOOL_QUINTTAP: u32 = 0x148;
 | 
			
		||||
pub const BTN_STYLUS3: u32 = 0x149;
 | 
			
		||||
pub const BTN_TOUCH: u32 = 0x14a;
 | 
			
		||||
pub const BTN_STYLUS: u32 = 0x14b;
 | 
			
		||||
pub const BTN_STYLUS2: u32 = 0x14c;
 | 
			
		||||
pub const BTN_TOOL_DOUBLETAP: u32 = 0x14d;
 | 
			
		||||
pub const BTN_TOOL_TRIPLETAP: u32 = 0x14e;
 | 
			
		||||
pub const BTN_TOOL_QUADTAP: u32 = 0x14f;
 | 
			
		||||
 | 
			
		||||
pub const BTN_WHEEL: u32 = 0x150;
 | 
			
		||||
pub const BTN_GEAR_DOWN: u32 = 0x150;
 | 
			
		||||
pub const BTN_GEAR_UP: u32 = 0x151;
 | 
			
		||||
 | 
			
		||||
pub const KEY_OK: u32 = 0x160;
 | 
			
		||||
pub const KEY_SELECT: u32 = 0x161;
 | 
			
		||||
pub const KEY_GOTO: u32 = 0x162;
 | 
			
		||||
pub const KEY_CLEAR: u32 = 0x163;
 | 
			
		||||
pub const KEY_POWER2: u32 = 0x164;
 | 
			
		||||
pub const KEY_OPTION: u32 = 0x165;
 | 
			
		||||
pub const KEY_INFO: u32 = 0x166;
 | 
			
		||||
pub const KEY_TIME: u32 = 0x167;
 | 
			
		||||
pub const KEY_VENDOR: u32 = 0x168;
 | 
			
		||||
pub const KEY_ARCHIVE: u32 = 0x169;
 | 
			
		||||
pub const KEY_PROGRAM: u32 = 0x16a;
 | 
			
		||||
pub const KEY_CHANNEL: u32 = 0x16b;
 | 
			
		||||
pub const KEY_FAVORITES: u32 = 0x16c;
 | 
			
		||||
pub const KEY_EPG: u32 = 0x16d;
 | 
			
		||||
pub const KEY_PVR: u32 = 0x16e;
 | 
			
		||||
pub const KEY_MHP: u32 = 0x16f;
 | 
			
		||||
pub const KEY_LANGUAGE: u32 = 0x170;
 | 
			
		||||
pub const KEY_TITLE: u32 = 0x171;
 | 
			
		||||
pub const KEY_SUBTITLE: u32 = 0x172;
 | 
			
		||||
pub const KEY_ANGLE: u32 = 0x173;
 | 
			
		||||
pub const KEY_FULL_SCREEN: u32 = 0x174;
 | 
			
		||||
pub const KEY_ZOOM: u32 = KEY_FULL_SCREEN;
 | 
			
		||||
pub const KEY_MODE: u32 = 0x175;
 | 
			
		||||
pub const KEY_KEYBOARD: u32 = 0x176;
 | 
			
		||||
pub const KEY_ASPECT_RATIO: u32 = 0x177;
 | 
			
		||||
pub const KEY_SCREEN: u32 = KEY_ASPECT_RATIO;
 | 
			
		||||
pub const KEY_PC: u32 = 0x178;
 | 
			
		||||
pub const KEY_TV: u32 = 0x179;
 | 
			
		||||
pub const KEY_TV2: u32 = 0x17a;
 | 
			
		||||
pub const KEY_VCR: u32 = 0x17b;
 | 
			
		||||
pub const KEY_VCR2: u32 = 0x17c;
 | 
			
		||||
pub const KEY_SAT: u32 = 0x17d;
 | 
			
		||||
pub const KEY_SAT2: u32 = 0x17e;
 | 
			
		||||
pub const KEY_CD: u32 = 0x17f;
 | 
			
		||||
pub const KEY_TAPE: u32 = 0x180;
 | 
			
		||||
pub const KEY_RADIO: u32 = 0x181;
 | 
			
		||||
pub const KEY_TUNER: u32 = 0x182;
 | 
			
		||||
pub const KEY_PLAYER: u32 = 0x183;
 | 
			
		||||
pub const KEY_TEXT: u32 = 0x184;
 | 
			
		||||
pub const KEY_DVD: u32 = 0x185;
 | 
			
		||||
pub const KEY_AUX: u32 = 0x186;
 | 
			
		||||
pub const KEY_MP3: u32 = 0x187;
 | 
			
		||||
pub const KEY_AUDIO: u32 = 0x188;
 | 
			
		||||
pub const KEY_VIDEO: u32 = 0x189;
 | 
			
		||||
pub const KEY_DIRECTORY: u32 = 0x18a;
 | 
			
		||||
pub const KEY_LIST: u32 = 0x18b;
 | 
			
		||||
pub const KEY_MEMO: u32 = 0x18c;
 | 
			
		||||
pub const KEY_CALENDAR: u32 = 0x18d;
 | 
			
		||||
pub const KEY_RED: u32 = 0x18e;
 | 
			
		||||
pub const KEY_GREEN: u32 = 0x18f;
 | 
			
		||||
pub const KEY_YELLOW: u32 = 0x190;
 | 
			
		||||
pub const KEY_BLUE: u32 = 0x191;
 | 
			
		||||
pub const KEY_CHANNELUP: u32 = 0x192;
 | 
			
		||||
pub const KEY_CHANNELDOWN: u32 = 0x193;
 | 
			
		||||
pub const KEY_FIRST: u32 = 0x194;
 | 
			
		||||
pub const KEY_LAST: u32 = 0x195;
 | 
			
		||||
pub const KEY_AB: u32 = 0x196;
 | 
			
		||||
pub const KEY_NEXT: u32 = 0x197;
 | 
			
		||||
pub const KEY_RESTART: u32 = 0x198;
 | 
			
		||||
pub const KEY_SLOW: u32 = 0x199;
 | 
			
		||||
pub const KEY_SHUFFLE: u32 = 0x19a;
 | 
			
		||||
pub const KEY_BREAK: u32 = 0x19b;
 | 
			
		||||
pub const KEY_PREVIOUS: u32 = 0x19c;
 | 
			
		||||
pub const KEY_DIGITS: u32 = 0x19d;
 | 
			
		||||
pub const KEY_TEEN: u32 = 0x19e;
 | 
			
		||||
pub const KEY_TWEN: u32 = 0x19f;
 | 
			
		||||
pub const KEY_VIDEOPHONE: u32 = 0x1a0;
 | 
			
		||||
pub const KEY_GAMES: u32 = 0x1a1;
 | 
			
		||||
pub const KEY_ZOOMIN: u32 = 0x1a2;
 | 
			
		||||
pub const KEY_ZOOMOUT: u32 = 0x1a3;
 | 
			
		||||
pub const KEY_ZOOMRESET: u32 = 0x1a4;
 | 
			
		||||
pub const KEY_WORDPROCESSOR: u32 = 0x1a5;
 | 
			
		||||
pub const KEY_EDITOR: u32 = 0x1a6;
 | 
			
		||||
pub const KEY_SPREADSHEET: u32 = 0x1a7;
 | 
			
		||||
pub const KEY_GRAPHICSEDITOR: u32 = 0x1a8;
 | 
			
		||||
pub const KEY_PRESENTATION: u32 = 0x1a9;
 | 
			
		||||
pub const KEY_DATABASE: u32 = 0x1aa;
 | 
			
		||||
pub const KEY_NEWS: u32 = 0x1ab;
 | 
			
		||||
pub const KEY_VOICEMAIL: u32 = 0x1ac;
 | 
			
		||||
pub const KEY_ADDRESSBOOK: u32 = 0x1ad;
 | 
			
		||||
pub const KEY_MESSENGER: u32 = 0x1ae;
 | 
			
		||||
pub const KEY_DISPLAYTOGGLE: u32 = 0x1af;
 | 
			
		||||
pub const KEY_BRIGHTNESS_TOGGLE: u32 = KEY_DISPLAYTOGGLE;
 | 
			
		||||
pub const KEY_SPELLCHECK: u32 = 0x1b0;
 | 
			
		||||
pub const KEY_LOGOFF: u32 = 0x1b1;
 | 
			
		||||
 | 
			
		||||
pub const KEY_DOLLAR: u32 = 0x1b2;
 | 
			
		||||
pub const KEY_EURO: u32 = 0x1b3;
 | 
			
		||||
 | 
			
		||||
pub const KEY_FRAMEBACK: u32 = 0x1b4;
 | 
			
		||||
pub const KEY_FRAMEFORWARD: u32 = 0x1b5;
 | 
			
		||||
pub const KEY_CONTEXT_MENU: u32 = 0x1b6;
 | 
			
		||||
pub const KEY_MEDIA_REPEAT: u32 = 0x1b7;
 | 
			
		||||
pub const KEY_10CHANNELSUP: u32 = 0x1b8;
 | 
			
		||||
pub const KEY_10CHANNELSDOWN: u32 = 0x1b9;
 | 
			
		||||
pub const KEY_IMAGES: u32 = 0x1ba;
 | 
			
		||||
pub const KEY_NOTIFICATION_CENTER: u32 = 0x1bc;
 | 
			
		||||
pub const KEY_PICKUP_PHONE: u32 = 0x1bd;
 | 
			
		||||
pub const KEY_HANGUP_PHONE: u32 = 0x1be;
 | 
			
		||||
 | 
			
		||||
pub const KEY_DEL_EOL: u32 = 0x1c0;
 | 
			
		||||
pub const KEY_DEL_EOS: u32 = 0x1c1;
 | 
			
		||||
pub const KEY_INS_LINE: u32 = 0x1c2;
 | 
			
		||||
pub const KEY_DEL_LINE: u32 = 0x1c3;
 | 
			
		||||
 | 
			
		||||
pub const KEY_FN: u32 = 0x1d0;
 | 
			
		||||
pub const KEY_FN_ESC: u32 = 0x1d1;
 | 
			
		||||
pub const KEY_FN_F1: u32 = 0x1d2;
 | 
			
		||||
pub const KEY_FN_F2: u32 = 0x1d3;
 | 
			
		||||
pub const KEY_FN_F3: u32 = 0x1d4;
 | 
			
		||||
pub const KEY_FN_F4: u32 = 0x1d5;
 | 
			
		||||
pub const KEY_FN_F5: u32 = 0x1d6;
 | 
			
		||||
pub const KEY_FN_F6: u32 = 0x1d7;
 | 
			
		||||
pub const KEY_FN_F7: u32 = 0x1d8;
 | 
			
		||||
pub const KEY_FN_F8: u32 = 0x1d9;
 | 
			
		||||
pub const KEY_FN_F9: u32 = 0x1da;
 | 
			
		||||
pub const KEY_FN_F10: u32 = 0x1db;
 | 
			
		||||
pub const KEY_FN_F11: u32 = 0x1dc;
 | 
			
		||||
pub const KEY_FN_F12: u32 = 0x1dd;
 | 
			
		||||
pub const KEY_FN_1: u32 = 0x1de;
 | 
			
		||||
pub const KEY_FN_2: u32 = 0x1df;
 | 
			
		||||
pub const KEY_FN_D: u32 = 0x1e0;
 | 
			
		||||
pub const KEY_FN_E: u32 = 0x1e1;
 | 
			
		||||
pub const KEY_FN_F: u32 = 0x1e2;
 | 
			
		||||
pub const KEY_FN_S: u32 = 0x1e3;
 | 
			
		||||
pub const KEY_FN_B: u32 = 0x1e4;
 | 
			
		||||
pub const KEY_FN_RIGHT_SHIFT: u32 = 0x1e5;
 | 
			
		||||
 | 
			
		||||
pub const KEY_BRL_DOT1: u32 = 0x1f1;
 | 
			
		||||
pub const KEY_BRL_DOT2: u32 = 0x1f2;
 | 
			
		||||
pub const KEY_BRL_DOT3: u32 = 0x1f3;
 | 
			
		||||
pub const KEY_BRL_DOT4: u32 = 0x1f4;
 | 
			
		||||
pub const KEY_BRL_DOT5: u32 = 0x1f5;
 | 
			
		||||
pub const KEY_BRL_DOT6: u32 = 0x1f6;
 | 
			
		||||
pub const KEY_BRL_DOT7: u32 = 0x1f7;
 | 
			
		||||
pub const KEY_BRL_DOT8: u32 = 0x1f8;
 | 
			
		||||
pub const KEY_BRL_DOT9: u32 = 0x1f9;
 | 
			
		||||
pub const KEY_BRL_DOT10: u32 = 0x1fa;
 | 
			
		||||
 | 
			
		||||
pub const KEY_NUMERIC_0: u32 = 0x200;
 | 
			
		||||
pub const KEY_NUMERIC_1: u32 = 0x201;
 | 
			
		||||
pub const KEY_NUMERIC_2: u32 = 0x202;
 | 
			
		||||
pub const KEY_NUMERIC_3: u32 = 0x203;
 | 
			
		||||
pub const KEY_NUMERIC_4: u32 = 0x204;
 | 
			
		||||
pub const KEY_NUMERIC_5: u32 = 0x205;
 | 
			
		||||
pub const KEY_NUMERIC_6: u32 = 0x206;
 | 
			
		||||
pub const KEY_NUMERIC_7: u32 = 0x207;
 | 
			
		||||
pub const KEY_NUMERIC_8: u32 = 0x208;
 | 
			
		||||
pub const KEY_NUMERIC_9: u32 = 0x209;
 | 
			
		||||
pub const KEY_NUMERIC_STAR: u32 = 0x20a;
 | 
			
		||||
pub const KEY_NUMERIC_POUND: u32 = 0x20b;
 | 
			
		||||
pub const KEY_NUMERIC_A: u32 = 0x20c;
 | 
			
		||||
pub const KEY_NUMERIC_B: u32 = 0x20d;
 | 
			
		||||
pub const KEY_NUMERIC_C: u32 = 0x20e;
 | 
			
		||||
pub const KEY_NUMERIC_D: u32 = 0x20f;
 | 
			
		||||
 | 
			
		||||
pub const KEY_CAMERA_FOCUS: u32 = 0x210;
 | 
			
		||||
pub const KEY_WPS_BUTTON: u32 = 0x211;
 | 
			
		||||
 | 
			
		||||
pub const KEY_TOUCHPAD_TOGGLE: u32 = 0x212;
 | 
			
		||||
pub const KEY_TOUCHPAD_ON: u32 = 0x213;
 | 
			
		||||
pub const KEY_TOUCHPAD_OFF: u32 = 0x214;
 | 
			
		||||
 | 
			
		||||
pub const KEY_CAMERA_ZOOMIN: u32 = 0x215;
 | 
			
		||||
pub const KEY_CAMERA_ZOOMOUT: u32 = 0x216;
 | 
			
		||||
pub const KEY_CAMERA_UP: u32 = 0x217;
 | 
			
		||||
pub const KEY_CAMERA_DOWN: u32 = 0x218;
 | 
			
		||||
pub const KEY_CAMERA_LEFT: u32 = 0x219;
 | 
			
		||||
pub const KEY_CAMERA_RIGHT: u32 = 0x21a;
 | 
			
		||||
 | 
			
		||||
pub const KEY_ATTENDANT_ON: u32 = 0x21b;
 | 
			
		||||
pub const KEY_ATTENDANT_OFF: u32 = 0x21c;
 | 
			
		||||
pub const KEY_ATTENDANT_TOGGLE: u32 = 0x21d;
 | 
			
		||||
pub const KEY_LIGHTS_TOGGLE: u32 = 0x21e;
 | 
			
		||||
 | 
			
		||||
pub const BTN_DPAD_UP: u32 = 0x220;
 | 
			
		||||
pub const BTN_DPAD_DOWN: u32 = 0x221;
 | 
			
		||||
pub const BTN_DPAD_LEFT: u32 = 0x222;
 | 
			
		||||
pub const BTN_DPAD_RIGHT: u32 = 0x223;
 | 
			
		||||
 | 
			
		||||
pub const KEY_ALS_TOGGLE: u32 = 0x230;
 | 
			
		||||
pub const KEY_ROTATE_LOCK_TOGGLE: u32 = 0x231;
 | 
			
		||||
 | 
			
		||||
pub const KEY_BUTTONCONFIG: u32 = 0x240;
 | 
			
		||||
pub const KEY_TASKMANAGER: u32 = 0x241;
 | 
			
		||||
pub const KEY_JOURNAL: u32 = 0x242;
 | 
			
		||||
pub const KEY_CONTROLPANEL: u32 = 0x243;
 | 
			
		||||
pub const KEY_APPSELECT: u32 = 0x244;
 | 
			
		||||
pub const KEY_SCREENSAVER: u32 = 0x245;
 | 
			
		||||
pub const KEY_VOICECOMMAND: u32 = 0x246;
 | 
			
		||||
pub const KEY_ASSISTANT: u32 = 0x247;
 | 
			
		||||
pub const KEY_KBD_LAYOUT_NEXT: u32 = 0x248;
 | 
			
		||||
pub const KEY_EMOJI_PICKER: u32 = 0x249;
 | 
			
		||||
 | 
			
		||||
pub const KEY_BRIGHTNESS_MIN: u32 = 0x250;
 | 
			
		||||
pub const KEY_BRIGHTNESS_MAX: u32 = 0x251;
 | 
			
		||||
 | 
			
		||||
pub const KEY_KBDINPUTASSIST_PREV: u32 = 0x260;
 | 
			
		||||
pub const KEY_KBDINPUTASSIST_NEXT: u32 = 0x261;
 | 
			
		||||
pub const KEY_KBDINPUTASSIST_PREVGROUP: u32 = 0x262;
 | 
			
		||||
pub const KEY_KBDINPUTASSIST_NEXTGROUP: u32 = 0x263;
 | 
			
		||||
pub const KEY_KBDINPUTASSIST_ACCEPT: u32 = 0x264;
 | 
			
		||||
pub const KEY_KBDINPUTASSIST_CANCEL: u32 = 0x265;
 | 
			
		||||
 | 
			
		||||
pub const KEY_RIGHT_UP: u32 = 0x266;
 | 
			
		||||
pub const KEY_RIGHT_DOWN: u32 = 0x267;
 | 
			
		||||
pub const KEY_LEFT_UP: u32 = 0x268;
 | 
			
		||||
pub const KEY_LEFT_DOWN: u32 = 0x269;
 | 
			
		||||
 | 
			
		||||
pub const KEY_ROOT_MENU: u32 = 0x26a;
 | 
			
		||||
pub const KEY_MEDIA_TOP_MENU: u32 = 0x26b;
 | 
			
		||||
pub const KEY_NUMERIC_11: u32 = 0x26c;
 | 
			
		||||
pub const KEY_NUMERIC_12: u32 = 0x26d;
 | 
			
		||||
pub const KEY_AUDIO_DESC: u32 = 0x26e;
 | 
			
		||||
pub const KEY_3D_MODE: u32 = 0x26f;
 | 
			
		||||
pub const KEY_NEXT_FAVORITE: u32 = 0x270;
 | 
			
		||||
pub const KEY_STOP_RECORD: u32 = 0x271;
 | 
			
		||||
pub const KEY_PAUSE_RECORD: u32 = 0x272;
 | 
			
		||||
pub const KEY_VOD: u32 = 0x273;
 | 
			
		||||
pub const KEY_UNMUTE: u32 = 0x274;
 | 
			
		||||
pub const KEY_FASTREVERSE: u32 = 0x275;
 | 
			
		||||
pub const KEY_SLOWREVERSE: u32 = 0x276;
 | 
			
		||||
pub const KEY_DATA: u32 = 0x277;
 | 
			
		||||
pub const KEY_ONSCREEN_KEYBOARD: u32 = 0x278;
 | 
			
		||||
pub const KEY_PRIVACY_SCREEN_TOGGLE: u32 = 0x279;
 | 
			
		||||
 | 
			
		||||
pub const KEY_SELECTIVE_SCREENSHOT: u32 = 0x27a;
 | 
			
		||||
 | 
			
		||||
pub const KEY_MACRO1: u32 = 0x290;
 | 
			
		||||
pub const KEY_MACRO2: u32 = 0x291;
 | 
			
		||||
pub const KEY_MACRO3: u32 = 0x292;
 | 
			
		||||
pub const KEY_MACRO4: u32 = 0x293;
 | 
			
		||||
pub const KEY_MACRO5: u32 = 0x294;
 | 
			
		||||
pub const KEY_MACRO6: u32 = 0x295;
 | 
			
		||||
pub const KEY_MACRO7: u32 = 0x296;
 | 
			
		||||
pub const KEY_MACRO8: u32 = 0x297;
 | 
			
		||||
pub const KEY_MACRO9: u32 = 0x298;
 | 
			
		||||
pub const KEY_MACRO10: u32 = 0x299;
 | 
			
		||||
pub const KEY_MACRO11: u32 = 0x29a;
 | 
			
		||||
pub const KEY_MACRO12: u32 = 0x29b;
 | 
			
		||||
pub const KEY_MACRO13: u32 = 0x29c;
 | 
			
		||||
pub const KEY_MACRO14: u32 = 0x29d;
 | 
			
		||||
pub const KEY_MACRO15: u32 = 0x29e;
 | 
			
		||||
pub const KEY_MACRO16: u32 = 0x29f;
 | 
			
		||||
pub const KEY_MACRO17: u32 = 0x2a0;
 | 
			
		||||
pub const KEY_MACRO18: u32 = 0x2a1;
 | 
			
		||||
pub const KEY_MACRO19: u32 = 0x2a2;
 | 
			
		||||
pub const KEY_MACRO20: u32 = 0x2a3;
 | 
			
		||||
pub const KEY_MACRO21: u32 = 0x2a4;
 | 
			
		||||
pub const KEY_MACRO22: u32 = 0x2a5;
 | 
			
		||||
pub const KEY_MACRO23: u32 = 0x2a6;
 | 
			
		||||
pub const KEY_MACRO24: u32 = 0x2a7;
 | 
			
		||||
pub const KEY_MACRO25: u32 = 0x2a8;
 | 
			
		||||
pub const KEY_MACRO26: u32 = 0x2a9;
 | 
			
		||||
pub const KEY_MACRO27: u32 = 0x2aa;
 | 
			
		||||
pub const KEY_MACRO28: u32 = 0x2ab;
 | 
			
		||||
pub const KEY_MACRO29: u32 = 0x2ac;
 | 
			
		||||
pub const KEY_MACRO30: u32 = 0x2ad;
 | 
			
		||||
 | 
			
		||||
pub const KEY_MACRO_RECORD_START: u32 = 0x2b0;
 | 
			
		||||
pub const KEY_MACRO_RECORD_STOP: u32 = 0x2b1;
 | 
			
		||||
pub const KEY_MACRO_PRESET_CYCLE: u32 = 0x2b2;
 | 
			
		||||
pub const KEY_MACRO_PRESET1: u32 = 0x2b3;
 | 
			
		||||
pub const KEY_MACRO_PRESET2: u32 = 0x2b4;
 | 
			
		||||
pub const KEY_MACRO_PRESET3: u32 = 0x2b5;
 | 
			
		||||
 | 
			
		||||
pub const KEY_KBD_LCD_MENU1: u32 = 0x2b8;
 | 
			
		||||
pub const KEY_KBD_LCD_MENU2: u32 = 0x2b9;
 | 
			
		||||
pub const KEY_KBD_LCD_MENU3: u32 = 0x2ba;
 | 
			
		||||
pub const KEY_KBD_LCD_MENU4: u32 = 0x2bb;
 | 
			
		||||
pub const KEY_KBD_LCD_MENU5: u32 = 0x2bc;
 | 
			
		||||
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY: u32 = 0x2c0;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY1: u32 = 0x2c0;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY2: u32 = 0x2c1;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY3: u32 = 0x2c2;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY4: u32 = 0x2c3;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY5: u32 = 0x2c4;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY6: u32 = 0x2c5;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY7: u32 = 0x2c6;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY8: u32 = 0x2c7;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY9: u32 = 0x2c8;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY10: u32 = 0x2c9;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY11: u32 = 0x2ca;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY12: u32 = 0x2cb;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY13: u32 = 0x2cc;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY14: u32 = 0x2cd;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY15: u32 = 0x2ce;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY16: u32 = 0x2cf;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY17: u32 = 0x2d0;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY18: u32 = 0x2d1;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY19: u32 = 0x2d2;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY20: u32 = 0x2d3;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY21: u32 = 0x2d4;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY22: u32 = 0x2d5;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY23: u32 = 0x2d6;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY24: u32 = 0x2d7;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY25: u32 = 0x2d8;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY26: u32 = 0x2d9;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY27: u32 = 0x2da;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY28: u32 = 0x2db;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY29: u32 = 0x2dc;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY30: u32 = 0x2dd;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY31: u32 = 0x2de;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY32: u32 = 0x2df;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY33: u32 = 0x2e0;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY34: u32 = 0x2e1;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY35: u32 = 0x2e2;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY36: u32 = 0x2e3;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY37: u32 = 0x2e4;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY38: u32 = 0x2e5;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY39: u32 = 0x2e6;
 | 
			
		||||
pub const BTN_TRIGGER_HAPPY40: u32 = 0x2e7;
 | 
			
		||||
 | 
			
		||||
pub const KEY_MIN_INTERESTING: u32 = KEY_MUTE;
 | 
			
		||||
pub const KEY_MAX: u32 = 0x2ff;
 | 
			
		||||
pub const KEY_CNT: u32 = KEY_MAX + 1;
 | 
			
		||||
@ -31,6 +31,7 @@ mod event_loop;
 | 
			
		||||
pub mod float_ord;
 | 
			
		||||
pub mod imservice;
 | 
			
		||||
mod keyboard;
 | 
			
		||||
pub mod keycodes;
 | 
			
		||||
mod layout;
 | 
			
		||||
mod locale;
 | 
			
		||||
mod main;
 | 
			
		||||
 | 
			
		||||
@ -1,7 +1,7 @@
 | 
			
		||||
gnome = import('gnome')
 | 
			
		||||
dbus_src = gnome.gdbus_codegen(
 | 
			
		||||
    'sm.puri.OSK0',
 | 
			
		||||
    join_paths(meson.source_root() / 'data' / 'dbus', 'sm.puri.OSK0.xml')
 | 
			
		||||
    join_paths(meson.project_source_root() / 'data' / 'dbus', 'sm.puri.OSK0.xml')
 | 
			
		||||
)
 | 
			
		||||
 | 
			
		||||
config_h = configure_file(
 | 
			
		||||
@ -83,7 +83,7 @@ test(
 | 
			
		||||
    'rstest',
 | 
			
		||||
    cargo_script,
 | 
			
		||||
    args: ['test'] + cargo_build_flags,
 | 
			
		||||
    env: ['SOURCE_DIR=' + meson.source_root()],
 | 
			
		||||
    env: ['SOURCE_DIR=' + meson.project_source_root()],
 | 
			
		||||
    # This is a whole Cargo-based test suite, let it run for a while
 | 
			
		||||
    timeout: 900,
 | 
			
		||||
    depends: [build_rstests],
 | 
			
		||||
 | 
			
		||||
@ -173,6 +173,8 @@ static KEYBOARDS: &[(&'static str, &'static str)] = &[
 | 
			
		||||
 | 
			
		||||
    ("terminal/fr", include_str!("../data/keyboards/terminal/fr.yaml")),
 | 
			
		||||
    ("terminal/fr_wide", include_str!("../data/keyboards/terminal/fr_wide.yaml")),
 | 
			
		||||
    ("terminal/fr+bepo", include_str!("../data/keyboards/terminal/fr+bepo.yaml")),
 | 
			
		||||
    ("terminal/fr+bepo_wide", include_str!("../data/keyboards/terminal/fr+bepo_wide.yaml")),
 | 
			
		||||
 | 
			
		||||
    ("terminal/us", include_str!("../data/keyboards/terminal/us.yaml")),
 | 
			
		||||
    ("terminal/us_wide",   include_str!("../data/keyboards/terminal/us_wide.yaml")),
 | 
			
		||||
 | 
			
		||||
@ -296,10 +296,13 @@ impl Submission {
 | 
			
		||||
    fn select_keymap(&mut self, idx: usize, time: Timestamp) {
 | 
			
		||||
        if self.keymap_idx != Some(idx) {
 | 
			
		||||
            self.keymap_idx = Some(idx);
 | 
			
		||||
            let modifiers = self.modifiers_active.clone();
 | 
			
		||||
            self.clear_all_modifiers();
 | 
			
		||||
            self.release_all_virtual_keys(time);
 | 
			
		||||
            let keymap = &self.keymap_fds[idx];
 | 
			
		||||
            self.virtual_keyboard.update_keymap(keymap);
 | 
			
		||||
            self.modifiers_active = modifiers;
 | 
			
		||||
            self.update_modifiers();
 | 
			
		||||
        }
 | 
			
		||||
    }
 | 
			
		||||
    
 | 
			
		||||
@ -316,5 +319,8 @@ impl Submission {
 | 
			
		||||
        // However, self.keymap_idx needs to become Option<>
 | 
			
		||||
        // in order to force update on new layouts.
 | 
			
		||||
        self.select_keymap(0, time);
 | 
			
		||||
 | 
			
		||||
        // Reset modifiers when changing layouts.
 | 
			
		||||
        self.clear_all_modifiers();
 | 
			
		||||
    }
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@ -114,6 +114,7 @@ foreach layout : [
 | 
			
		||||
    'terminal/de', 'terminal/de_wide',
 | 
			
		||||
    'terminal/es', 'terminal/es_wide',
 | 
			
		||||
    'terminal/fr', 'terminal/fr_wide',
 | 
			
		||||
    'terminal/fr+bepo', 'terminal/fr+bepo_wide',
 | 
			
		||||
    'terminal/us', 'terminal/us_wide',
 | 
			
		||||
    'terminal/us+dvorak', 'terminal/us+dvorak_wide',
 | 
			
		||||
    
 | 
			
		||||
@ -136,7 +137,7 @@ foreach layout : [
 | 
			
		||||
            + ['--example', 'test_layout', '--', layout]
 | 
			
		||||
            + extra,
 | 
			
		||||
        timeout: timeout,
 | 
			
		||||
        workdir: meson.build_root(),
 | 
			
		||||
        workdir: meson.project_build_root(),
 | 
			
		||||
    )
 | 
			
		||||
endforeach
 | 
			
		||||
 | 
			
		||||
@ -147,8 +148,8 @@ if get_option('find_orphans')
 | 
			
		||||
        cargo_script,
 | 
			
		||||
        args: ['run'] + cargo_build_flags
 | 
			
		||||
            + ['--example', 'find_orphan_layouts',
 | 
			
		||||
                '--', meson.source_root() + '/data/keyboards/'],
 | 
			
		||||
                '--', meson.project_source_root() + '/data/keyboards/'],
 | 
			
		||||
        timeout: timeout,
 | 
			
		||||
        workdir: meson.build_root(),
 | 
			
		||||
        workdir: meson.project_build_root(),
 | 
			
		||||
    )
 | 
			
		||||
endif
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user