Changeset 79277 in vbox for trunk/src/VBox/Frontends/VirtualBox
- Timestamp:
- Jun 21, 2019 1:19:52 PM (6 years ago)
- Location:
- trunk/src/VBox/Frontends/VirtualBox
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/src/VBox/Frontends/VirtualBox/src/softkeyboard/UISoftKeyboard.cpp
r79249 r79277 27 27 #include <QMenu> 28 28 #include <QPainter> 29 #include <QPicture> 29 30 #include <QPushButton> 30 31 #include <QSplitter> … … 84 85 QString m_strShift; 85 86 QString m_strAltGr; 87 QString m_strShiftAltGr; 86 88 }; 87 89 … … 147 149 void sltKeyShiftCaptionChange(const QString &strCaption); 148 150 void sltKeyAltGrCaptionChange(const QString &strCaption); 151 void sltKeyShiftAltGrCaptionChange(const QString &strCaption); 149 152 void sltPhysicalLayoutChanged(); 150 153 void sltLayoutNameChanged(const QString &strCaption); … … 156 159 QWidget *prepareKeyCaptionEditWidgets(); 157 160 void reset(); 158 161 void resetKeyWidgets(); 159 162 QGridLayout *m_pEditorLayout; 160 163 QToolButton *m_pGoBackButton; … … 171 174 QLabel *m_pShiftCaptionLabel; 172 175 QLabel *m_pAltGrCaptionLabel; 176 QLabel *m_pShiftAltGrCaptionLabel; 173 177 174 178 QLineEdit *m_pLayoutNameEdit; … … 178 182 QLineEdit *m_pShiftCaptionEdit; 179 183 QLineEdit *m_pAltGrCaptionEdit; 184 QLineEdit *m_pShiftAltGrCaptionEdit; 180 185 181 186 /** The key which is being currently edited. Might be Null. */ … … 285 290 void setAltGrCaption(const QString &strAltGrCaption); 286 291 292 const QString shiftAltGrCaption() const; 293 void setShiftAltGrCaption(const QString &strAltGrCaption); 294 287 295 const QString text() const; 288 296 … … 325 333 int cutoutWidth() const; 326 334 int cutoutHeight() const; 327 335 QPicture m_textPixmap; 328 336 private: 329 337 … … 336 344 QString m_strShiftCaption; 337 345 QString m_strAltGrCaption; 346 QString m_strShiftAltGrCaption; 347 338 348 /** m_strText is concatenation of base, shift, and altgr captions. */ 339 349 QString m_strText; … … 617 627 , m_pShiftCaptionLabel(0) 618 628 , m_pAltGrCaptionLabel(0) 629 , m_pShiftAltGrCaptionLabel(0) 619 630 , m_pLayoutNameEdit(0) 620 631 , m_pScanCodeEdit(0) … … 623 634 , m_pShiftCaptionEdit(0) 624 635 , m_pAltGrCaptionEdit(0) 636 , m_pShiftAltGrCaptionEdit(0) 625 637 , m_pKey(0) 626 638 , m_pLayout(0) … … 643 655 if (m_pKey->altGrCaption() != m_pAltGrCaptionEdit->text()) 644 656 m_pKey->setAltGrCaption(m_pAltGrCaptionEdit->text()); 657 if (m_pKey->shiftAltGrCaption() != m_pShiftAltGrCaptionEdit->text()) 658 m_pKey->setShiftAltGrCaption(m_pShiftAltGrCaptionEdit->text()); 645 659 } 646 660 … … 649 663 m_pSelectedKeyGroupBox->setEnabled(m_pKey); 650 664 if (!m_pKey) 651 return; 665 { 666 resetKeyWidgets(); 667 return; 668 } 652 669 if (m_pScanCodeEdit) 653 670 m_pScanCodeEdit->setText(QString::number(m_pKey->scanCode(), 16)); … … 660 677 if (m_pAltGrCaptionEdit) 661 678 m_pAltGrCaptionEdit->setText(m_pKey->altGrCaption()); 679 if (m_pShiftAltGrCaptionEdit) 680 m_pShiftAltGrCaptionEdit->setText(m_pKey->shiftAltGrCaption()); 662 681 } 663 682 … … 712 731 if (m_pAltGrCaptionLabel) 713 732 m_pAltGrCaptionLabel->setText(UISoftKeyboard::tr("AltGr")); 733 if (m_pShiftAltGrCaptionLabel) 734 m_pShiftAltGrCaptionLabel->setText(UISoftKeyboard::tr("ShiftAltGr")); 714 735 if (m_pCaptionEditGroupBox) 715 736 m_pCaptionEditGroupBox->setTitle(UISoftKeyboard::tr("Captions")); … … 739 760 return; 740 761 m_pKey->setAltGrCaption(strCaption); 762 emit sigKeyCaptionsEdited(m_pKey); 763 } 764 765 void UILayoutEditor::sltKeyShiftAltGrCaptionChange(const QString &strCaption) 766 { 767 if (!m_pKey || m_pKey->shiftAltGrCaption() == strCaption) 768 return; 769 m_pKey->setShiftAltGrCaption(strCaption); 741 770 emit sigKeyCaptionsEdited(m_pKey); 742 771 } … … 863 892 connect(m_pAltGrCaptionEdit, &QLineEdit::textChanged, this, &UILayoutEditor::sltKeyAltGrCaptionChange); 864 893 894 m_pShiftAltGrCaptionLabel = new QLabel; 895 m_pShiftAltGrCaptionEdit = new QLineEdit; 896 m_pShiftAltGrCaptionLabel->setBuddy(m_pShiftAltGrCaptionEdit); 897 pCaptionEditorLayout->addWidget(m_pShiftAltGrCaptionLabel, 3, 0); 898 pCaptionEditorLayout->addWidget(m_pShiftAltGrCaptionEdit, 3, 1); 899 connect(m_pShiftAltGrCaptionEdit, &QLineEdit::textChanged, this, &UILayoutEditor::sltKeyShiftAltGrCaptionChange); 900 901 865 902 QSpacerItem *pSpacer = new QSpacerItem(0, 0, QSizePolicy::Expanding, QSizePolicy::Expanding); 866 903 if (pSpacer) … … 873 910 if (m_pLayoutNameEdit) 874 911 m_pLayoutNameEdit->clear(); 912 resetKeyWidgets(); 913 } 914 915 void UILayoutEditor::resetKeyWidgets() 916 { 875 917 if (m_pScanCodeEdit) 876 918 m_pScanCodeEdit->clear(); … … 883 925 if (m_pAltGrCaptionEdit) 884 926 m_pAltGrCaptionEdit->clear(); 927 if (m_pShiftAltGrCaptionEdit) 928 m_pShiftAltGrCaptionEdit->clear(); 885 929 } 886 930 … … 1123 1167 } 1124 1168 1169 const QString UISoftKeyboardKey::shiftAltGrCaption() const 1170 { 1171 return m_strShiftAltGrCaption; 1172 } 1173 1174 void UISoftKeyboardKey::setShiftAltGrCaption(const QString &strShiftAltGrCaption) 1175 { 1176 m_strShiftAltGrCaption = strShiftAltGrCaption; 1177 updateText(); 1178 } 1179 1125 1180 const QString UISoftKeyboardKey::text() const 1126 1181 { … … 1300 1355 void UISoftKeyboardKey::updateText() 1301 1356 { 1302 m_strText.clear(); 1357 1358 QPainter painter(&m_textPixmap); 1359 painter.setPen(QColor(0,0,0)); 1360 painter.setRenderHint(QPainter::Antialiasing); 1361 QFont painterFont(painter.font()); 1362 1363 painterFont.setPixelSize(15); 1364 painterFont.setBold(true); 1365 painter.setFont(painterFont); 1366 QFontMetrics fontMetric = painter.fontMetrics(); 1367 int iSideMargin = 1 * fontMetric.width('X'); 1368 1369 int iX = 0; 1370 int iY = fontMetric.height(); 1303 1371 if (!m_strShiftCaption.isEmpty()) 1304 m_strText += QString("%1\n").arg(m_strShiftCaption); 1305 if (!m_strBaseCaption.isEmpty()) 1306 m_strText += QString("%1\n").arg(m_strBaseCaption); 1307 if (!m_strAltGrCaption.isEmpty()) 1308 m_strText += QString("%1\n").arg(m_strAltGrCaption); 1372 { 1373 painter.drawText(iX + iSideMargin, iY, m_strShiftCaption); 1374 painter.drawText(iX + iSideMargin, 2 * iY, m_strBaseCaption); 1375 } 1376 else 1377 { 1378 int iSpaceIndex = m_strBaseCaption.indexOf(" " ); 1379 if (iSpaceIndex == -1) 1380 painter.drawText(iX + iSideMargin, iY, m_strBaseCaption); 1381 else 1382 { 1383 painter.drawText(iX + iSideMargin, iY, m_strBaseCaption.left(iSpaceIndex)); 1384 painter.drawText(iX + iSideMargin, 2 * iY, m_strBaseCaption.right(m_strBaseCaption.length() - iSpaceIndex - 1)); 1385 } 1386 } 1387 1388 if (!m_strShiftAltGrCaption.isEmpty()) 1389 { 1390 painter.drawText(keyGeometry().width() - fontMetric.width('X') - iSideMargin, iY, m_strShiftAltGrCaption); 1391 painter.drawText(keyGeometry().width() - fontMetric.width('X') - iSideMargin, 2 * iY, m_strAltGrCaption); 1392 } 1393 else 1394 painter.drawText(keyGeometry().width() - fontMetric.width('X') - iSideMargin, 2 * iY, m_strAltGrCaption); 1395 1396 painter.end(); 1309 1397 } 1310 1398 … … 1457 1545 QFont painterFont(font()); 1458 1546 painterFont.setPixelSize(15); 1459 painterFont.setBold( false);1547 painterFont.setBold(true); 1460 1548 painter.setFont(painterFont); 1461 1549 painter.setRenderHint(QPainter::Antialiasing); … … 1495 1583 painter.drawPolygon(key.polygon()); 1496 1584 1497 1498 QRect textRect(0.55 * unitSize, 1 * unitSize 1499 , key.keyGeometry().width(), key.keyGeometry().height()); 1500 if (m_pShowPositionsAction && m_pShowPositionsAction->isChecked()) 1501 painter.drawText(textRect, Qt::TextWordWrap, QString::number(key.position())); 1502 else 1503 painter.drawText(textRect, Qt::TextWordWrap, key.text()); 1585 key.m_textPixmap.play(&painter); 1504 1586 1505 1587 if (key.type() != UIKeyType_Ordinary) … … 1640 1722 xmlWriter.writeTextElement("shiftcaption", key.shiftCaption()); 1641 1723 xmlWriter.writeTextElement("altgrcaption", key.altGrCaption()); 1724 xmlWriter.writeTextElement("shiftaltgrcaption", key.shiftAltGrCaption()); 1642 1725 xmlWriter.writeEndElement(); 1643 1726 } … … 1712 1795 m_pKeyBeingEdited = 0; 1713 1796 } 1797 update(); 1714 1798 } 1715 1799 … … 1724 1808 newCaptions.m_strShift = pKey->shiftCaption(); 1725 1809 newCaptions.m_strAltGr = pKey->altGrCaption(); 1810 newCaptions.m_strShiftAltGr = pKey->shiftAltGrCaption(); 1726 1811 m_pCurrentKeyboardLayout->updateKeyCaptions(pKey->position(), newCaptions); 1727 1812 } … … 2057 2142 key.setShiftCaption(captions.m_strShift); 2058 2143 key.setAltGrCaption(captions.m_strAltGr); 2144 key.setShiftAltGrCaption(captions.m_strShiftAltGr); 2059 2145 } 2060 2146 } … … 2375 2461 else if (m_xmlReader.name() == "altgrcaption") 2376 2462 keyCaptions.m_strAltGr = m_xmlReader.readElementText(); 2463 else if (m_xmlReader.name() == "shiftaltgrcaption") 2464 keyCaptions.m_strShiftAltGr = m_xmlReader.readElementText(); 2377 2465 else if (m_xmlReader.name() == "position") 2378 2466 iKeyPosition = m_xmlReader.readElementText().toInt(); … … 2522 2610 if (m_pKeyboardWidget) 2523 2611 m_pKeyboardWidget->toggleEditMode(false); 2612 if (m_pLayoutEditor) 2613 m_pLayoutEditor->setKey(0); 2524 2614 } 2525 2615 -
trunk/src/VBox/Frontends/VirtualBox/xml/us_international.xml
r79130 r79277 8 8 <shiftcaption></shiftcaption> 9 9 <altgrcaption></altgrcaption> 10 <shiftaltgrcaption></shiftaltgrcaption> 10 11 </key> 11 12 <key> … … 14 15 <shiftcaption></shiftcaption> 15 16 <altgrcaption></altgrcaption> 17 <shiftaltgrcaption></shiftaltgrcaption> 16 18 </key> 17 19 <key> … … 20 22 <shiftcaption></shiftcaption> 21 23 <altgrcaption></altgrcaption> 24 <shiftaltgrcaption></shiftaltgrcaption> 22 25 </key> 23 26 <key> … … 26 29 <shiftcaption></shiftcaption> 27 30 <altgrcaption></altgrcaption> 31 <shiftaltgrcaption></shiftaltgrcaption> 28 32 </key> 29 33 <key> … … 32 36 <shiftcaption></shiftcaption> 33 37 <altgrcaption></altgrcaption> 38 <shiftaltgrcaption></shiftaltgrcaption> 34 39 </key> 35 40 <key> … … 38 43 <shiftcaption></shiftcaption> 39 44 <altgrcaption></altgrcaption> 45 <shiftaltgrcaption></shiftaltgrcaption> 40 46 </key> 41 47 <key> … … 44 50 <shiftcaption></shiftcaption> 45 51 <altgrcaption></altgrcaption> 52 <shiftaltgrcaption></shiftaltgrcaption> 46 53 </key> 47 54 <key> … … 50 57 <shiftcaption></shiftcaption> 51 58 <altgrcaption></altgrcaption> 59 <shiftaltgrcaption></shiftaltgrcaption> 52 60 </key> 53 61 <key> … … 56 64 <shiftcaption></shiftcaption> 57 65 <altgrcaption></altgrcaption> 66 <shiftaltgrcaption></shiftaltgrcaption> 58 67 </key> 59 68 <key> … … 62 71 <shiftcaption></shiftcaption> 63 72 <altgrcaption></altgrcaption> 73 <shiftaltgrcaption></shiftaltgrcaption> 64 74 </key> 65 75 <key> … … 68 78 <shiftcaption></shiftcaption> 69 79 <altgrcaption></altgrcaption> 80 <shiftaltgrcaption></shiftaltgrcaption> 70 81 </key> 71 82 <key> … … 74 85 <shiftcaption></shiftcaption> 75 86 <altgrcaption></altgrcaption> 87 <shiftaltgrcaption></shiftaltgrcaption> 76 88 </key> 77 89 <key> … … 80 92 <shiftcaption></shiftcaption> 81 93 <altgrcaption></altgrcaption> 94 <shiftaltgrcaption></shiftaltgrcaption> 82 95 </key> 83 96 <key> 84 97 <position>124</position> 85 <basecaption></basecaption> 86 <shiftcaption></shiftcaption> 87 <altgrcaption></altgrcaption> 98 <basecaption>Prt Scrn</basecaption> 99 <shiftcaption>Sys Rq</shiftcaption> 100 <altgrcaption></altgrcaption> 101 <shiftaltgrcaption></shiftaltgrcaption> 88 102 </key> 89 103 <key> 90 104 <position>125</position> 91 <basecaption></basecaption> 92 <shiftcaption></shiftcaption> 93 <altgrcaption></altgrcaption> 105 <basecaption>Scroll Lock</basecaption> 106 <shiftcaption></shiftcaption> 107 <altgrcaption></altgrcaption> 108 <shiftaltgrcaption></shiftaltgrcaption> 94 109 </key> 95 110 <key> 96 111 <position>126</position> 97 <basecaption></basecaption> 98 <shiftcaption></shiftcaption> 99 <altgrcaption></altgrcaption> 112 <basecaption>Pause Break</basecaption> 113 <shiftcaption></shiftcaption> 114 <altgrcaption></altgrcaption> 115 <shiftaltgrcaption></shiftaltgrcaption> 100 116 </key> 101 117 <key> … … 104 120 <shiftcaption>~</shiftcaption> 105 121 <altgrcaption></altgrcaption> 122 <shiftaltgrcaption></shiftaltgrcaption> 106 123 </key> 107 124 <key> … … 109 126 <basecaption>1</basecaption> 110 127 <shiftcaption>!</shiftcaption> 111 <altgrcaption></altgrcaption> 128 <altgrcaption>¹</altgrcaption> 129 <shiftaltgrcaption>¡</shiftaltgrcaption> 112 130 </key> 113 131 <key> … … 115 133 <basecaption>2</basecaption> 116 134 <shiftcaption>@</shiftcaption> 117 <altgrcaption></altgrcaption> 135 <altgrcaption>²</altgrcaption> 136 <shiftaltgrcaption></shiftaltgrcaption> 118 137 </key> 119 138 <key> … … 121 140 <basecaption>3</basecaption> 122 141 <shiftcaption>#</shiftcaption> 123 <altgrcaption></altgrcaption> 142 <altgrcaption>³</altgrcaption> 143 <shiftaltgrcaption></shiftaltgrcaption> 124 144 </key> 125 145 <key> … … 127 147 <basecaption>4</basecaption> 128 148 <shiftcaption>$</shiftcaption> 129 <altgrcaption></altgrcaption> 149 <altgrcaption>¤</altgrcaption> 150 <shiftaltgrcaption></shiftaltgrcaption> 130 151 </key> 131 152 <key> 132 153 <position>6</position> 133 <basecaption></basecaption> 134 <shiftcaption></shiftcaption> 135 <altgrcaption></altgrcaption> 154 <basecaption>5</basecaption> 155 <shiftcaption>%</shiftcaption> 156 <altgrcaption>€</altgrcaption> 157 <shiftaltgrcaption></shiftaltgrcaption> 136 158 </key> 137 159 <key> 138 160 <position>7</position> 139 <basecaption></basecaption> 140 <shiftcaption></shiftcaption> 141 <altgrcaption></altgrcaption> 161 <basecaption>6</basecaption> 162 <shiftcaption>^</shiftcaption> 163 <altgrcaption>¼</altgrcaption> 164 <shiftaltgrcaption></shiftaltgrcaption> 142 165 </key> 143 166 <key> 144 167 <position>8</position> 145 <basecaption></basecaption> 146 <shiftcaption></shiftcaption> 147 <altgrcaption></altgrcaption> 168 <basecaption>7</basecaption> 169 <shiftcaption>&</shiftcaption> 170 <altgrcaption>½</altgrcaption> 171 <shiftaltgrcaption></shiftaltgrcaption> 148 172 </key> 149 173 <key> 150 174 <position>9</position> 151 <basecaption></basecaption> 152 <shiftcaption></shiftcaption> 153 <altgrcaption></altgrcaption> 175 <basecaption>8</basecaption> 176 <shiftcaption>*</shiftcaption> 177 <altgrcaption>¾</altgrcaption> 178 <shiftaltgrcaption></shiftaltgrcaption> 154 179 </key> 155 180 <key> 156 181 <position>10</position> 157 <basecaption></basecaption> 158 <shiftcaption></shiftcaption> 159 <altgrcaption></altgrcaption> 182 <basecaption>9</basecaption> 183 <shiftcaption>(</shiftcaption> 184 <altgrcaption>‘</altgrcaption> 185 <shiftaltgrcaption></shiftaltgrcaption> 160 186 </key> 161 187 <key> 162 188 <position>11</position> 163 <basecaption></basecaption> 164 <shiftcaption></shiftcaption> 165 <altgrcaption></altgrcaption> 189 <basecaption>0</basecaption> 190 <shiftcaption>)</shiftcaption> 191 <altgrcaption>’</altgrcaption> 192 <shiftaltgrcaption></shiftaltgrcaption> 166 193 </key> 167 194 <key> 168 195 <position>12</position> 169 <basecaption></basecaption> 170 <shiftcaption></shiftcaption> 171 <altgrcaption></altgrcaption> 196 <basecaption>-</basecaption> 197 <shiftcaption>_</shiftcaption> 198 <altgrcaption>¥</altgrcaption> 199 <shiftaltgrcaption></shiftaltgrcaption> 172 200 </key> 173 201 <key> 174 202 <position>13</position> 175 <basecaption></basecaption> 176 <shiftcaption></shiftcaption> 177 <altgrcaption></altgrcaption> 203 <basecaption>=</basecaption> 204 <shiftcaption>+</shiftcaption> 205 <altgrcaption>×</altgrcaption> 206 <shiftaltgrcaption>÷</shiftaltgrcaption> 178 207 </key> 179 208 <key> 180 209 <position>15</position> 181 <basecaption></basecaption> 182 <shiftcaption></shiftcaption> 183 <altgrcaption></altgrcaption> 210 <basecaption>Backspace</basecaption> 211 <shiftcaption></shiftcaption> 212 <altgrcaption></altgrcaption> 213 <shiftaltgrcaption></shiftaltgrcaption> 184 214 </key> 185 215 <key> 186 216 <position>75</position> 187 <basecaption> </basecaption>217 <basecaption>Insert</basecaption> 188 218 <shiftcaption></shiftcaption> 189 219 <altgrcaption></altgrcaption> … … 191 221 <key> 192 222 <position>80</position> 193 <basecaption> </basecaption>223 <basecaption>Home</basecaption> 194 224 <shiftcaption></shiftcaption> 195 225 <altgrcaption></altgrcaption> … … 197 227 <key> 198 228 <position>85</position> 199 <basecaption> </basecaption>229 <basecaption>Page Up</basecaption> 200 230 <shiftcaption></shiftcaption> 201 231 <altgrcaption></altgrcaption> … … 206 236 <shiftcaption></shiftcaption> 207 237 <altgrcaption></altgrcaption> 238 <shiftaltgrcaption></shiftaltgrcaption> 208 239 </key> 209 240 <key> 210 241 <position>17</position> 211 <basecaption></basecaption> 212 <shiftcaption></shiftcaption> 213 <altgrcaption></altgrcaption> 242 <basecaption>Q</basecaption> 243 <shiftcaption></shiftcaption> 244 <altgrcaption>Ä</altgrcaption> 245 <shiftaltgrcaption></shiftaltgrcaption> 214 246 </key> 215 247 <key> 216 248 <position>18</position> 217 <basecaption></basecaption> 218 <shiftcaption></shiftcaption> 219 <altgrcaption></altgrcaption> 249 <basecaption>W</basecaption> 250 <shiftcaption></shiftcaption> 251 <altgrcaption>Å</altgrcaption> 252 <shiftaltgrcaption></shiftaltgrcaption> 220 253 </key> 221 254 <key> 222 255 <position>19</position> 223 <basecaption></basecaption> 224 <shiftcaption></shiftcaption> 225 <altgrcaption></altgrcaption> 256 <basecaption>E</basecaption> 257 <shiftcaption></shiftcaption> 258 <altgrcaption>É</altgrcaption> 259 <shiftaltgrcaption></shiftaltgrcaption> 226 260 </key> 227 261 <key> 228 262 <position>20</position> 229 <basecaption></basecaption> 230 <shiftcaption></shiftcaption> 231 <altgrcaption></altgrcaption> 263 <basecaption>R</basecaption> 264 <shiftcaption></shiftcaption> 265 <altgrcaption>®</altgrcaption> 266 <shiftaltgrcaption></shiftaltgrcaption> 232 267 </key> 233 268 <key> 234 269 <position>21</position> 235 <basecaption></basecaption> 236 <shiftcaption></shiftcaption> 237 <altgrcaption></altgrcaption> 270 <basecaption>T</basecaption> 271 <shiftcaption></shiftcaption> 272 <altgrcaption>Þ</altgrcaption> 273 <shiftaltgrcaption></shiftaltgrcaption> 238 274 </key> 239 275 <key> 240 276 <position>22</position> 241 <basecaption></basecaption> 242 <shiftcaption></shiftcaption> 243 <altgrcaption></altgrcaption> 277 <basecaption>Y</basecaption> 278 <shiftcaption></shiftcaption> 279 <altgrcaption>Ü</altgrcaption> 280 <shiftaltgrcaption></shiftaltgrcaption> 244 281 </key> 245 282 <key> 246 283 <position>23</position> 247 <basecaption></basecaption> 248 <shiftcaption></shiftcaption> 249 <altgrcaption></altgrcaption> 284 <basecaption>U</basecaption> 285 <shiftcaption></shiftcaption> 286 <altgrcaption>Ú</altgrcaption> 287 <shiftaltgrcaption></shiftaltgrcaption> 250 288 </key> 251 289 <key> 252 290 <position>24</position> 253 <basecaption></basecaption> 254 <shiftcaption></shiftcaption> 255 <altgrcaption></altgrcaption> 291 <basecaption>I</basecaption> 292 <shiftcaption></shiftcaption> 293 <altgrcaption>Í</altgrcaption> 294 <shiftaltgrcaption></shiftaltgrcaption> 256 295 </key> 257 296 <key> 258 297 <position>25</position> 259 <basecaption></basecaption> 260 <shiftcaption></shiftcaption> 261 <altgrcaption></altgrcaption> 298 <basecaption>O</basecaption> 299 <shiftcaption></shiftcaption> 300 <altgrcaption>Ó</altgrcaption> 301 <shiftaltgrcaption></shiftaltgrcaption> 262 302 </key> 263 303 <key> 264 304 <position>26</position> 265 <basecaption></basecaption> 266 <shiftcaption></shiftcaption> 267 <altgrcaption></altgrcaption> 305 <basecaption>p</basecaption> 306 <shiftcaption></shiftcaption> 307 <altgrcaption>Ö</altgrcaption> 308 <shiftaltgrcaption></shiftaltgrcaption> 268 309 </key> 269 310 <key> 270 311 <position>27</position> 271 <basecaption></basecaption> 272 <shiftcaption></shiftcaption> 273 <altgrcaption></altgrcaption> 312 <basecaption>[</basecaption> 313 <shiftcaption>{</shiftcaption> 314 <altgrcaption>«</altgrcaption> 315 <shiftaltgrcaption></shiftaltgrcaption> 274 316 </key> 275 317 <key> 276 318 <position>28</position> 277 <basecaption></basecaption> 278 <shiftcaption></shiftcaption> 279 <altgrcaption></altgrcaption> 319 <basecaption>]</basecaption> 320 <shiftcaption>}</shiftcaption> 321 <altgrcaption>»</altgrcaption> 322 <shiftaltgrcaption></shiftaltgrcaption> 280 323 </key> 281 324 <key> 282 325 <position>29</position> 283 <basecaption></basecaption> 284 <shiftcaption></shiftcaption> 285 <altgrcaption></altgrcaption> 326 <basecaption>\</basecaption> 327 <shiftcaption>|</shiftcaption> 328 <altgrcaption>¬</altgrcaption> 329 <shiftaltgrcaption>¦</shiftaltgrcaption> 286 330 </key> 287 331 <key> 288 332 <position>76</position> 289 <basecaption> </basecaption>333 <basecaption>Delete</basecaption> 290 334 <shiftcaption></shiftcaption> 291 335 <altgrcaption></altgrcaption> … … 293 337 <key> 294 338 <position>81</position> 295 <basecaption> </basecaption>339 <basecaption>End</basecaption> 296 340 <shiftcaption></shiftcaption> 297 341 <altgrcaption></altgrcaption> … … 299 343 <key> 300 344 <position>86</position> 301 <basecaption> </basecaption>345 <basecaption>Page Down</basecaption> 302 346 <shiftcaption></shiftcaption> 303 347 <altgrcaption></altgrcaption> … … 308 352 <shiftcaption></shiftcaption> 309 353 <altgrcaption></altgrcaption> 354 <shiftaltgrcaption></shiftaltgrcaption> 310 355 </key> 311 356 <key> 312 357 <position>31</position> 313 <basecaption></basecaption> 314 <shiftcaption></shiftcaption> 315 <altgrcaption></altgrcaption> 358 <basecaption>A</basecaption> 359 <shiftcaption></shiftcaption> 360 <altgrcaption>Á</altgrcaption> 361 <shiftaltgrcaption></shiftaltgrcaption> 316 362 </key> 317 363 <key> 318 364 <position>32</position> 319 <basecaption></basecaption> 320 <shiftcaption></shiftcaption> 321 <altgrcaption></altgrcaption> 365 <basecaption>S</basecaption> 366 <shiftcaption></shiftcaption> 367 <altgrcaption>ß</altgrcaption> 368 <shiftaltgrcaption>§</shiftaltgrcaption> 322 369 </key> 323 370 <key> 324 371 <position>33</position> 325 <basecaption></basecaption> 326 <shiftcaption></shiftcaption> 327 <altgrcaption></altgrcaption> 372 <basecaption>D</basecaption> 373 <shiftcaption></shiftcaption> 374 <altgrcaption></altgrcaption> 375 <shiftaltgrcaption>Ð</shiftaltgrcaption> 328 376 </key> 329 377 <key> 330 378 <position>34</position> 331 <basecaption></basecaption> 332 <shiftcaption></shiftcaption> 333 <altgrcaption></altgrcaption> 379 <basecaption>F</basecaption> 380 <shiftcaption></shiftcaption> 381 <altgrcaption></altgrcaption> 382 <shiftaltgrcaption></shiftaltgrcaption> 334 383 </key> 335 384 <key> 336 385 <position>35</position> 337 <basecaption></basecaption> 338 <shiftcaption></shiftcaption> 339 <altgrcaption></altgrcaption> 386 <basecaption>G</basecaption> 387 <shiftcaption></shiftcaption> 388 <altgrcaption></altgrcaption> 389 <shiftaltgrcaption></shiftaltgrcaption> 340 390 </key> 341 391 <key> 342 392 <position>36</position> 343 <basecaption></basecaption> 344 <shiftcaption></shiftcaption> 345 <altgrcaption></altgrcaption> 393 <basecaption>H</basecaption> 394 <shiftcaption></shiftcaption> 395 <altgrcaption></altgrcaption> 396 <shiftaltgrcaption></shiftaltgrcaption> 346 397 </key> 347 398 <key> 348 399 <position>37</position> 349 <basecaption></basecaption> 350 <shiftcaption></shiftcaption> 351 <altgrcaption></altgrcaption> 400 <basecaption>J</basecaption> 401 <shiftcaption></shiftcaption> 402 <altgrcaption></altgrcaption> 403 <shiftaltgrcaption></shiftaltgrcaption> 352 404 </key> 353 405 <key> 354 406 <position>38</position> 355 <basecaption></basecaption> 356 <shiftcaption></shiftcaption> 357 <altgrcaption></altgrcaption> 407 <basecaption>K</basecaption> 408 <shiftcaption></shiftcaption> 409 <altgrcaption></altgrcaption> 410 <shiftaltgrcaption></shiftaltgrcaption> 358 411 </key> 359 412 <key> 360 413 <position>39</position> 361 <basecaption></basecaption> 362 <shiftcaption></shiftcaption> 363 <altgrcaption></altgrcaption> 414 <basecaption>L</basecaption> 415 <shiftcaption></shiftcaption> 416 <altgrcaption>Ø</altgrcaption> 417 <shiftaltgrcaption></shiftaltgrcaption> 364 418 </key> 365 419 <key> 366 420 <position>40</position> 367 <basecaption></basecaption> 368 <shiftcaption></shiftcaption> 369 <altgrcaption></altgrcaption> 421 <basecaption>;</basecaption> 422 <shiftcaption>:</shiftcaption> 423 <altgrcaption>¶</altgrcaption> 424 <shiftaltgrcaption>°</shiftaltgrcaption> 370 425 </key> 371 426 <key> 372 427 <position>41</position> 373 <basecaption></basecaption> 374 <shiftcaption></shiftcaption> 375 <altgrcaption></altgrcaption> 428 <basecaption>'</basecaption> 429 <shiftcaption>"</shiftcaption> 430 <altgrcaption></altgrcaption> 431 <shiftaltgrcaption></shiftaltgrcaption> 376 432 </key> 377 433 <key> 378 434 <position>43</position> 379 <basecaption></basecaption> 380 <shiftcaption></shiftcaption> 381 <altgrcaption></altgrcaption> 435 <basecaption>Enter</basecaption> 436 <shiftcaption></shiftcaption> 437 <altgrcaption></altgrcaption> 438 <shiftaltgrcaption></shiftaltgrcaption> 382 439 </key> 383 440 <key> … … 386 443 <shiftcaption></shiftcaption> 387 444 <altgrcaption></altgrcaption> 445 <shiftaltgrcaption></shiftaltgrcaption> 388 446 </key> 389 447 <key> … … 391 449 <basecaption>Z</basecaption> 392 450 <shiftcaption></shiftcaption> 393 <altgrcaption></altgrcaption> 451 <altgrcaption>Æ</altgrcaption> 452 <shiftaltgrcaption></shiftaltgrcaption> 394 453 </key> 395 454 <key> … … 398 457 <shiftcaption></shiftcaption> 399 458 <altgrcaption></altgrcaption> 459 <shiftaltgrcaption></shiftaltgrcaption> 400 460 </key> 401 461 <key> … … 403 463 <basecaption>C</basecaption> 404 464 <shiftcaption></shiftcaption> 405 <altgrcaption></altgrcaption> 465 <altgrcaption>©</altgrcaption> 466 <shiftaltgrcaption>¢</shiftaltgrcaption> 406 467 </key> 407 468 <key> … … 410 471 <shiftcaption></shiftcaption> 411 472 <altgrcaption></altgrcaption> 473 <shiftaltgrcaption></shiftaltgrcaption> 412 474 </key> 413 475 <key> … … 416 478 <shiftcaption></shiftcaption> 417 479 <altgrcaption></altgrcaption> 480 <shiftaltgrcaption></shiftaltgrcaption> 418 481 </key> 419 482 <key> … … 421 484 <basecaption>N</basecaption> 422 485 <shiftcaption></shiftcaption> 423 <altgrcaption></altgrcaption> 486 <altgrcaption>Ñ</altgrcaption> 487 <shiftaltgrcaption></shiftaltgrcaption> 424 488 </key> 425 489 <key> … … 427 491 <basecaption>M</basecaption> 428 492 <shiftcaption></shiftcaption> 429 <altgrcaption></altgrcaption> 493 <altgrcaption>µ</altgrcaption> 494 <shiftaltgrcaption></shiftaltgrcaption> 430 495 </key> 431 496 <key> … … 434 499 <shiftcaption><</shiftcaption> 435 500 <altgrcaption></altgrcaption> 501 <shiftaltgrcaption>Ç</shiftaltgrcaption> 436 502 </key> 437 503 <key> … … 440 506 <shiftcaption>></shiftcaption> 441 507 <altgrcaption></altgrcaption> 508 <shiftaltgrcaption></shiftaltgrcaption> 442 509 </key> 443 510 <key> … … 445 512 <basecaption>/</basecaption> 446 513 <shiftcaption>?</shiftcaption> 447 <altgrcaption></altgrcaption> 514 <altgrcaption>¿</altgrcaption> 515 <shiftaltgrcaption></shiftaltgrcaption> 448 516 </key> 449 517 <key> 450 518 <position>57</position> 451 <basecaption></basecaption> 452 <shiftcaption></shiftcaption> 453 <altgrcaption></altgrcaption> 519 <basecaption>Shift</basecaption> 520 <shiftcaption></shiftcaption> 521 <altgrcaption></altgrcaption> 522 <shiftaltgrcaption></shiftaltgrcaption> 454 523 </key> 455 524 <key> 456 525 <position>83</position> 457 <basecaption></basecaption> 458 <shiftcaption></shiftcaption> 459 <altgrcaption></altgrcaption> 526 <basecaption>↑</basecaption> 527 <shiftcaption></shiftcaption> 528 <altgrcaption></altgrcaption> 529 <shiftaltgrcaption></shiftaltgrcaption> 460 530 </key> 461 531 <key> … … 464 534 <shiftcaption></shiftcaption> 465 535 <altgrcaption></altgrcaption> 536 <shiftaltgrcaption></shiftaltgrcaption> 466 537 </key> 467 538 <key> 468 539 <position>227</position> 469 <basecaption></basecaption> 470 <shiftcaption></shiftcaption> 471 <altgrcaption></altgrcaption> 540 <basecaption>OS</basecaption> 541 <shiftcaption></shiftcaption> 542 <altgrcaption></altgrcaption> 543 <shiftaltgrcaption></shiftaltgrcaption> 472 544 </key> 473 545 <key> 474 546 <position>60</position> 475 <basecaption></basecaption> 476 <shiftcaption></shiftcaption> 477 <altgrcaption></altgrcaption> 547 <basecaption>Alt</basecaption> 548 <shiftcaption></shiftcaption> 549 <altgrcaption></altgrcaption> 550 <shiftaltgrcaption></shiftaltgrcaption> 478 551 </key> 479 552 <key> … … 482 555 <shiftcaption></shiftcaption> 483 556 <altgrcaption></altgrcaption> 557 <shiftaltgrcaption></shiftaltgrcaption> 484 558 </key> 485 559 <key> 486 560 <position>62</position> 487 <basecaption></basecaption> 488 <shiftcaption></shiftcaption> 489 <altgrcaption></altgrcaption> 561 <basecaption>AltGr</basecaption> 562 <shiftcaption></shiftcaption> 563 <altgrcaption></altgrcaption> 564 <shiftaltgrcaption></shiftaltgrcaption> 490 565 </key> 491 566 <key> 492 567 <position>231</position> 493 <basecaption></basecaption> 494 <shiftcaption></shiftcaption> 495 <altgrcaption></altgrcaption> 568 <basecaption>OS</basecaption> 569 <shiftcaption></shiftcaption> 570 <altgrcaption></altgrcaption> 571 <shiftaltgrcaption></shiftaltgrcaption> 496 572 </key> 497 573 <key> 498 574 <position>0</position> 499 <basecaption></basecaption> 500 <shiftcaption></shiftcaption> 501 <altgrcaption></altgrcaption> 575 <basecaption>Menu</basecaption> 576 <shiftcaption></shiftcaption> 577 <altgrcaption></altgrcaption> 578 <shiftaltgrcaption></shiftaltgrcaption> 502 579 </key> 503 580 <key> 504 581 <position>64</position> 505 <basecaption></basecaption> 506 <shiftcaption></shiftcaption> 507 <altgrcaption></altgrcaption> 582 <basecaption>Ctrl</basecaption> 583 <shiftcaption></shiftcaption> 584 <altgrcaption></altgrcaption> 585 <shiftaltgrcaption></shiftaltgrcaption> 508 586 </key> 509 587 <key> 510 588 <position>79</position> 511 <basecaption></basecaption> 512 <shiftcaption></shiftcaption> 513 <altgrcaption></altgrcaption> 589 <basecaption>←</basecaption> 590 <shiftcaption></shiftcaption> 591 <altgrcaption></altgrcaption> 592 <shiftaltgrcaption></shiftaltgrcaption> 514 593 </key> 515 594 <key> 516 595 <position>84</position> 517 <basecaption></basecaption> 518 <shiftcaption></shiftcaption> 519 <altgrcaption></altgrcaption> 596 <basecaption>↓</basecaption> 597 <shiftcaption></shiftcaption> 598 <altgrcaption></altgrcaption> 599 <shiftaltgrcaption></shiftaltgrcaption> 520 600 </key> 521 601 <key> 522 602 <position>89</position> 523 <basecaption></basecaption> 524 <shiftcaption></shiftcaption> 525 <altgrcaption></altgrcaption> 603 <basecaption>→</basecaption> 604 <shiftcaption></shiftcaption> 605 <altgrcaption></altgrcaption> 606 <shiftaltgrcaption></shiftaltgrcaption> 526 607 </key> 527 608 </layout>
Note:
See TracChangeset
for help on using the changeset viewer.