--001636284370b8d5ad04851a6330 Content-Type: multipart/alternative; boundary=001636284370b8d59904851a632e --001636284370b8d59904851a632e Content-Type: text/plain; charset=ISO-8859-1 Hi all I've moved new keyboard control module in kdereview under keyboard2 name. keyboard2 is new project to replace keyboard (kcmmisc) and kxkb modules to manage keyboard hardware configuration and layouts. The project provides: kded daemon, plasma applet, layout widget for embedding and new kcm configuration module. Keyboard daemon: * configures keyboard layouts on start * provides DBUS API "org.kde.KXKB/kxkb" * listens to window/desktop switching if layout switch mode is not global * listens to new keyboard devices and reinitializes keyboard layouts * listens to Global KDE Shortcut to switch layouts (and listens to their change) * listens to keyboard configuration change * provides systray icon to show layout Keyboard applet: * displays current layout with text and (optionally flag) Layout widget: * displays current layout with text (currently no flag or tooltip) embedded in another widget * dynamically loaded as a plugin KCM Module: * allows to configure keyboard hardware, layouts and xkb options (advanced) in one module Advantages (over old code): * One UI module to configure keyboard layouts and hardware * Allows to configure keyboard model/xkb options without configuring layouts * Less cluttered layout configuration control (add layout is separate) * Layout control/DBus interface is separate from the indicator * Does not require libxklavier (parses rules xml directly with QtXml) * Takes country/language names/translations from iso-codes project * Information about current layouts is always taken from X server, so should be more robust * Cleaner code (rewritten from scratch) * Due to many points above should start faster (though no benchmarks performed) New features: * Allow selection of keyboard layout by language More info is in the README and TODO. The UI is a bit rough around the edges (need to work on UI layout in KCM, possibly merge text with flag in the layouts table, some better drawing of text in the icon etc) and code could be a bit improved (some optimization like text-drawn pixmap caching and smarter library linking) but all features should be working. I did not like the way the text was drawn over the flag before but could not find a better way yet, so in the systray icon for now it's either flag or text. This is a bit different and I am not sure I like it yet :) so if people like the old way better it'll be fairly easy to revert it back (and of course people who don't want flags would not care :) ). Also for drawing the text I need to find a way to leave the taskbar background (but this was also the problem before). If you're willing to try, you'll have to check out keyboard2 into kdebase/workspace/kcontrol and apply the cmake patch attached (keyboard2_cmakefile.patch). You may need to remove old kxkb and kcmmisc kcms so they don't interfere though. Also the second patch is for krunner's lockdlg if you want to try that one too. I tried to preserve the translation messages from the old modules as much as I could and even provided Messages.sh but did not do much testing in this area. Not sure what the best way to decrease the amount translators have to redo so any help is appreciated. Also I ran it via krazy so should be fairly clean in this regards. I was carving out some time by bits and pieces and was doing this rewrite for half a year now so I am hoping to get some (hopefully positive) feedback :), so comments and suggestions are very welcome Thanks, Andriy --001636284370b8d59904851a632e Content-Type: text/html; charset=ISO-8859-1 Content-Transfer-Encoding: quoted-printable Hi all

I've moved new keyboard control module in kdereview under= keyboard2 name.

keyboard2 is new project to replace keyboard (kcmmi= sc) and kxkb modules to manage keyboard hardware configuration and layouts.=

The project provides: kded daemon, plasma applet, layout widget for emb= edding and new kcm configuration module.

Keyboard daemon:
* confi= gures keyboard layouts on start
* provides DBUS API "org.kde.KXKB/k= xkb"
* listens to window/desktop switching if layout switch mode is not global* listens to new keyboard devices and reinitializes keyboard layouts
*= listens to Global KDE Shortcut to switch layouts (and listens to their cha= nge)
* listens to keyboard configuration change
* provides systray icon to sh= ow layout

Keyboard applet:
* displays current layout with text an= d (optionally flag)

Layout widget:
* displays current layout with= text (currently no flag or tooltip) embedded in another widget
* dynamically loaded as a plugin

KCM Module:
* allows to configur= e keyboard hardware, layouts and xkb options (advanced) in one module
Advantages (over old code):
* One UI module to configure keyboard layo= uts and hardware
* Allows to configure keyboard model/xkb options without configuring layout= s
* Less cluttered layout configuration control (add layout is separate)=
* Layout control/DBus interface is separate from the indicator
* Doe= s not require libxklavier (parses rules xml directly with QtXml)
* Takes country/language names/translations from iso-codes project
* Inf= ormation about current layouts is always taken from X server, so should be = more robust
* Cleaner code (rewritten from scratch)
* Due to many poi= nts above should start faster (though no benchmarks performed)

New features:
* Allow selection of keyboard layout by language
More info is in the README and TODO.


The UI is a bit rough aro= und the edges (need to work on UI layout in KCM, possibly merge text with f= lag in the layouts table, some better drawing of text in the icon etc) and = code could be a bit improved (some optimization like text-drawn pixmap cach= ing and smarter library linking) but all features should be working.

I did not like the way the text was drawn over the flag before but coul= d not find a better way yet, so in the systray icon for now it's either= flag or text. This is a bit different and I am not sure I like it yet :) s= o if people like the old way better it'll be fairly easy to revert it b= ack (and of course people who don't want flags would not care :) ). Als= o for drawing the text I need to find a way to leave the taskbar background= (but this was also the problem before).

If you're willing to try, you'll have to check out keyboard2 in= to kdebase/workspace/kcontrol and apply the cmake patch attached (keyboard2= _cmakefile.patch). You may need to remove old kxkb and kcmmisc kcms so they= don't interfere though. Also the second patch is for krunner's loc= kdlg if you want to try that one too.

I tried to preserve the translation messages from the old modules as mu= ch as I could and even provided Messages.sh but did not do much testing in = this area. Not sure what the best way to decrease the amount translators ha= ve to redo so any help is appreciated.

Also I ran it via krazy so should be fairly clean in this regards.
<= br>I was carving out some time by bits and pieces and was doing this rewrit= e for half a year now so I am hoping to get some (hopefully positive) feedb= ack :), so comments and suggestions are very welcome

Thanks,
Andriy

--001636284370b8d59904851a632e-- --001636284370b8d5ad04851a6330 Content-Type: text/x-patch; charset=US-ASCII; name="keyboard2_cmakefile.patch" Content-Disposition: attachment; filename="keyboard2_cmakefile.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g8gnacay0 SW5kZXg6IHdvcmtzcGFjZS9rY29udHJvbC9DTWFrZUxpc3RzLnR4dAo9PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSB3 b3Jrc3BhY2Uva2NvbnRyb2wvQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDExMTEwNTkpCisrKyB3 b3Jrc3BhY2Uva2NvbnRyb2wvQ01ha2VMaXN0cy50eHQJKHdvcmtpbmcgY29weSkKQEAgLTExLDgg KzExLDkgQEAKIGVuZGlmKFgxMV9YcmFuZHJfRk9VTkQgKQogCiBpZihYMTFfWGtiX0ZPVU5EKQot ICAgIGFkZF9zdWJkaXJlY3RvcnkoIGt4a2IgKQotICAgIGFkZF9zdWJkaXJlY3RvcnkoIGtleWJv YXJkICkKKyMgICAgYWRkX3N1YmRpcmVjdG9yeSgga3hrYiApCisjICAgIGFkZF9zdWJkaXJlY3Rv cnkoIGtleWJvYXJkICkKKyAgICBhZGRfc3ViZGlyZWN0b3J5KCBrZXlib2FyZDIgKQogZW5kaWYo WDExX1hrYl9GT1VORCkKIAogaWYoTk9UIFdJTjMyKQo= --001636284370b8d5ad04851a6330 Content-Type: text/x-patch; charset=US-ASCII; name="lockdlg_kxkb_to_keyboard2.patch" Content-Disposition: attachment; filename="lockdlg_kxkb_to_keyboard2.patch" Content-Transfer-Encoding: base64 X-Attachment-Id: f_g8gnaq9m1 SW5kZXg6IGxvY2tkbGcuY2MKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gbG9ja2RsZy5jYwkocmV2aXNpb24gMTEx MTA1OSkKKysrIGxvY2tkbGcuY2MJKHdvcmtpbmcgY29weSkKQEAgLTExNSwxNCArMTE1LDE0IEBA CiAgICAgY2FuY2VsID0gbmV3IEtQdXNoQnV0dG9uKCBLU3RhbmRhcmRHdWlJdGVtOjpjYW5jZWwo KSwgdyApOwogICAgIG1OZXdTZXNzQnV0dG9uID0gbmV3IEtQdXNoQnV0dG9uKCBLR3VpSXRlbShp MThuKCJTdyZpdGNoIFVzZXIuLi4iKSwgImZvcmsiKSwgdyApOwogCi0gICAgLy8gVXNpbmcgS1hL QiBjb21wb25lbnQKLSAgICBLUGx1Z2luRmFjdG9yeSAqa3hrYkZhY3RvcnkgPSBLUGx1Z2luTG9h ZGVyKCJsaWJrZGVpbml0NF9reGtiIikuZmFjdG9yeSgpOworICAgIC8vIFVzaW5nIGtleWJvYXJk IGxheW91dCBjb21wb25lbnQKKyAgICBLUGx1Z2luRmFjdG9yeSAqa3hrYkZhY3RvcnkgPSBLUGx1 Z2luTG9hZGVyKCJrZXlib2FyZF9sYXlvdXRfd2lkZ2V0IikuZmFjdG9yeSgpOwogICAgIFFXaWRn ZXQgKmt4a2JDb21wb25lbnQgPSBOVUxMOwogICAgIGlmIChreGtiRmFjdG9yeSkgewogICAgICAg ICBreGtiQ29tcG9uZW50ID0ga3hrYkZhY3RvcnktPmNyZWF0ZTxRV2lkZ2V0Pih0aGlzKTsKICAg ICB9CiAgICAgZWxzZSB7Ci0gICAgICAgIGtEZWJ1ZygpIDw8ICJjYW4ndCBsb2FkIGt4a2IgY29t cG9uZW50IGxpYnJhcnkiOworICAgICAgICBrRGVidWcoKSA8PCAiY2FuJ3QgbG9hZCBrZXlib2Fy ZCBsYXlvdXQgd2lkZ2V0IGxpYnJhcnkiOwogICAgIH0KIAogICAgIFFIQm94TGF5b3V0ICpsYXlT dGF0dXMgPSBuZXcgUUhCb3hMYXlvdXQoKTsKQEAgLTEzMCw4ICsxMzAsMTEgQEAKICAgICBsYXlT dGF0dXMtPmFkZFdpZGdldCggbVN0YXR1c0xhYmVsICk7CiAgICAgbGF5U3RhdHVzLT5hZGRTdHJl dGNoKCk7CiAKLSAgICBpZigga3hrYkNvbXBvbmVudCApCisgICAgaWYoIGt4a2JDb21wb25lbnQg KSB7CisJLy9UT0RPOiB3aXRob3V0IHRoaXMgdGhlIHdpZGdldCBpcyBvZmYgdGhlIHBhcmVudCBh cmVhLCBidXQgd2UgbmVlZCBzb21ldGhpbmcgYmV0dGVyIGhlcmUKKyAgICAgICAga3hrYkNvbXBv bmVudC0+c2V0Rml4ZWRTaXplKDQ4LCAyNCk7CiAgICAgICAgIGxheVN0YXR1cy0+YWRkV2lkZ2V0 KCBreGtiQ29tcG9uZW50LCAwLCBRdDo6QWxpZ25SaWdodCApOworICAgIH0KIAogICAgIFFIQm94 TGF5b3V0ICpsYXlCdXR0b25zID0gbmV3IFFIQm94TGF5b3V0KCk7CiAgICAgbGF5QnV0dG9ucy0+ YWRkV2lkZ2V0KCBtTmV3U2Vzc0J1dHRvbiApOwpJbmRleDogQ01ha2VMaXN0cy50eHQKPT09PT09 PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09 PT09PQotLS0gQ01ha2VMaXN0cy50eHQJKHJldmlzaW9uIDExMTEwNTkpCisrKyBDTWFrZUxpc3Rz LnR4dAkod29ya2luZyBjb3B5KQpAQCAtMjcsMTUgKzI3LDggQEAKIHNldChrc2NyZWVuc2F2ZXJf eG1sICAke0tERUJBU0VfV09SS1NQQUNFX1NPVVJDRV9ESVJ9L2tydW5uZXIvZGJ1cy9vcmcua2Rl LnNjcmVlbnNhdmVyLnhtbCkKIFFUNF9BRERfREJVU19JTlRFUkZBQ0Uoa3NjcmVlbmxvY2tlcl9T UkNTICR7a3NjcmVlbnNhdmVyX3htbH0ga3NjcmVlbnNhdmVyX2ludGVyZmFjZSkKIAotc2V0KGt4 a2JfYWRhcHRvciAke0tERUJBU0VfV09SS1NQQUNFX1NPVVJDRV9ESVJ9L2tjb250cm9sL2t4a2Iv a3hrYl9hZGFwdG9yLmgpCi1zZXQoa3hrYl94bWwgJHtDTUFLRV9DVVJSRU5UX0JJTkFSWV9ESVJ9 L29yZy5rZGUuS1hLQi54bWwpCi1BRERfQ1VTVE9NX0NPTU1BTkQoT1VUUFVUICR7a3hrYl94bWx9 Ci0gICAgICAgQ09NTUFORCAke1FUX0RCVVNDUFAyWE1MX0VYRUNVVEFCTEV9ICR7a3hrYl9hZGFw dG9yfSA+ICR7a3hrYl94bWx9Ci0gICAgICAgREVQRU5EUyAke2t4a2JfYWRhcHRvcn0pCi1RVDRf QUREX0RCVVNfSU5URVJGQUNFKCBrc2NyZWVubG9ja2VyX1NSQ1MgJHtreGtiX3htbH0ga3hrYl9p bnRlcmZhY2UgKQogCiAKLQoga2RlNF9hZGRfa2NmZ19maWxlcyhrc2NyZWVubG9ja2VyX1NSQ1Mg JHtDTUFLRV9DVVJSRU5UX1NPVVJDRV9ESVJ9Ly4uL2tjZmcva3NjcmVlbnNhdmVyc2V0dGluZ3Mu a2NmZ2MpCiAKIAo= --001636284370b8d5ad04851a6330--