Ticket #7964: Keymap_add_Apple_Aluminum_submenu_1.diff
File Keymap_add_Apple_Aluminum_submenu_1.diff, 9.3 KB (added by , 13 years ago) |
---|
-
build/jam/HaikuImage
diff --git build/jam/HaikuImage build/jam/HaikuImage index 90b9eee..0a8ecc9 100644
AddSymlinkToHaikuImage system data Keymaps : Swedish : Finnish ; 499 499 AddSymlinkToHaikuImage system data Keymaps : Slovene : Croatian ; 500 500 AddSymlinkToHaikuImage system data Keymaps : US-International : Brazilian ; 501 501 502 # Copy Keyboard Layout files to the image one-by-one 502 503 local keyboardLayoutsDir 503 504 = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; 504 local keyboardLayouts = [ Glob $(keyboardLayoutsDir) : [^.]* ] ; 505 AddFilesToHaikuImage system data KeyboardLayouts : $(keyboardLayouts) ; 505 local keyboardLayoutFiles = 506 $(keyboardLayoutsDir)/"Generic 104-key" 507 $(keyboardLayoutsDir)/"Generic 105-key International" 508 $(keyboardLayoutsDir)/"IBM Laptop International" 509 $(keyboardLayoutsDir)/"Kinesis Advantage" 510 $(keyboardLayoutsDir)/"Kinesis Ergo Elan International" 511 $(keyboardLayoutsDir)/"TypeMatrix 2030" ; 512 AddDirectoryToHaikuImage system data KeyboardLayouts ; 513 AddFilesToHaikuImage system data KeyboardLayouts 514 : $(keyboardLayoutFiles) ; 515 516 local appleAluminumDir 517 = [ FDirName $(keyboardLayoutsDir) Apple\ Aluminum ] ; 518 local appleAluminumFiles = 519 $(appleAluminumDir)/"Apple Aluminium Extended International" 520 $(appleAluminumDir)/"Apple Aluminium International" 521 $(appleAluminumDir)/"Apple Aluminum (US)" 522 $(appleAluminumDir)/"Apple Aluminum Extended (US)" ; 523 AddDirectoryToHaikuImage system data KeyboardLayouts Apple\ Aluminum ; 524 AddFilesToHaikuImage system data KeyboardLayouts Apple\ Aluminum 525 : $(appleAluminumFiles) ; 506 526 507 527 local driverSettingsFiles = <driver-settings>kernel ; 508 528 SEARCH on $(driverSettingsFiles) -
deleted file data/system/data/KeyboardLayouts/Apple
diff --git data/system/data/KeyboardLayouts/Apple Aluminium data/system/data/KeyboardLayouts/Apple Aluminium deleted file mode 100644 index dba6cde..0000000
+ - 1 name = Apple aluminium2 3 # Size shortcuts4 default-size = 10,105 $back = 17,106 $fn = 10.5,67 $lshift = 13,108 $ctrl = 14,109 $alt = 12,1010 $cmd = 14,1011 $b = 5,1012 $d = 15,1013 $e = l12,20,814 $f = 10,2015 $two = 20,1016 17 # Key rows18 [ 0,0; 4,5:-; d$fn:0x01; $fn:+12; d$fn:0x00; 5,6:-; 10,6:0x04+2; 5,6:-;19 10,6:+4 ]20 [ 0,6; 4,5:-; :0x11+12; d$back:+; $b:-; d:+3; $b:-; d:+1; d:0x6a; d:0x23+1 ]21 [ 0,16; 4,5:-; d$d:0x26; :+12; d$e:0x47; $b:-; d:0x34-0x36; $b:-; :+3; d:0x25 ]22 [ 0,26; 4,5:led-caps; # integrated into caps key23 d17,10:0x3b; :+11; :0x33; 50,10:-; :0x48-0x4a; d:0x3a ]24 [ 0,36; 4,5:-; d$lshift:0x4b; :0x69; :0x4c+9; d24,10:+1; 15,10:-; d:+1;25 15,10:-; :+3; d$f:+1 ]26 [ 0,46; 4,5:-; d$ctrl:0x5c; d$alt:0x5d; d$cmd:0x66; 67,10:0x5e; d$cmd:0x67;27 d$alt:0x5f; d$ctrl:0x60; $b:-; d:+3; $b:-; $two:+1; :+1 ] -
new file data/system/data/KeyboardLayouts/Apple
diff --git data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminium Extended International data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminium Extended International new file mode 100644 index 0000000..68c96bb
- + 1 name = Apple Aluminium Extended International 2 3 # Size shortcuts 4 default-size = 10,10 5 $back = 17,10 6 $fn = 10.5,6 7 $lshift = 13,10 8 $ctrl = 14,10 9 $alt = 12,10 10 $cmd = 14,10 11 $b = 5,10 12 $d = 15,10 13 $e = l12,20,8 14 $f = 10,20 15 $two = 20,10 16 17 # Key rows 18 [ 0,0; 4,5:-; d$fn:0x01; $fn:+12; 15.5,6:-; 10,6:0x70068; 10,6:+2; 5,6:-; 10,6:+4; ] 19 [ 0,6; 4,5:-; :0x11+12; d$back:+; $b:-; :-; d:0x20; d:+1; $b:-; d:+1; d:0x6a; d:0x23+1 ] 20 [ 0,16; 4,5:-; d$d:0x26; :+12; d$e:0x47; $b:-; d:0x34-0x36; $b:-; :+3; d:0x25 ] 21 [ 0,26; 4,5:led-caps; # integrated into caps key 22 d17,10:0x3b; :+11; :0x33; 50,10:-; :0x48-0x4a; d:0x3a ] 23 [ 0,36; 4,5:-; d$lshift:0x4b; :0x69; :0x4c+9; d24,10:+1; 15,10:-; d:+1; 24 15,10:-; :+3; d$f:+1 ] 25 [ 0,46; 4,5:-; d$ctrl:0x5c; d$alt:0x5d; d$cmd:0x66; 67,10:0x5e; d$cmd:0x67; 26 d$alt:0x5f; d$ctrl:0x60; $b:-; d:+3; $b:-; $two:+1; :+1 ] -
new file data/system/data/KeyboardLayouts/Apple
diff --git data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminium International data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminium International new file mode 100644 index 0000000..38758b8
- + 1 name = Apple Aluminium International 2 3 # Size shortcuts 4 default-size = 10,10 5 $back = 17,10 6 $fn = 10.5,6 7 $lshift = 13,10 8 $b = 2,12 9 $d = 15,10 10 $e = l12,20,8 11 $f = 10,20 12 $two = 20,10 13 $last = 10,12 14 $cmd = 14,12 15 $arrow = 10,6 16 17 # Key rows 18 [ 0,0; 4,5:-; d$fn:0x01; $fn:+12; ] 19 [ 0,6; 4,5:-; :0x11+12; d$back:+; ] 20 [ 0,16; 4,5:-; d$d:0x26; :+12; d$e:0x47; ] 21 [ 0,26; 4,5:led-caps; # integrated into caps key 22 d17,10:0x3b; :+11; :0x33; ] 23 [ 0,36; 4,5:-; d$lshift:0x4b; :0x69; :0x4c+9; d24,10:+1; ] 24 [ 0,46; 4,5:-; d$last:-; # fn key 25 d$last:0x5c; d$last:0x5d; d$cmd:0x66; 49,12:0x5e; d$cmd:0x67; 26 d$last:0x5f; $arrow:-; d$arrow:0x57; $arrow:-; ] 27 [ 121,52; d$arrow:0x61+2; ] -
new file data/system/data/KeyboardLayouts/Apple
diff --git data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminum (US) data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminum (US) new file mode 100644 index 0000000..976c71c
- + 1 name = Apple Aluminum (US) 2 3 # Size shortcuts 4 default-size = 10,10 5 $back = 17,10 6 $fn = 10.5,6 7 $b = 2,12 8 $f = 10,20 9 $two = 20,10 10 $last = 10,12 11 $cmd = 14,12 12 $arrow = 10,6 13 14 # Key rows 15 [ 0,0; 4,5:-; d$fn:0x01; $fn:+12; ] 16 [ 0,6; 4,5:-; :0x11+12; d$back:+; ] 17 [ 0,16; 4,5:-; d17,10:0x26; :+13; ] 18 [ 0,26; 4,5:led-caps; # integrated into caps key 19 d19,10:0x3b; :+11; d18,10:0x47; ] 20 [ 0,36; 4,5:-; d24,10:0x4b; :+10; d23,10:+1; ] 21 [ 0,46; 4,5:-; d$last:-; # fn key 22 d$last:0x5c; d$last:0x5d; d$cmd:0x66; 49,12:0x5e; d$cmd:0x67; 23 d$last:0x5f; $arrow:-; d$arrow:0x57; $arrow:-; ] 24 [ 121,52; d$arrow:0x61+2; ] -
new file data/system/data/KeyboardLayouts/Apple
diff --git data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminum Extended (US) data/system/data/KeyboardLayouts/Apple Aluminum/Apple Aluminum Extended (US) new file mode 100644 index 0000000..c2a753b
- + 1 name = Apple Aluminum Extended (US) 2 3 # Size shortcuts 4 default-size = 10,10 5 $back = 17,10 6 $fn = 10.5,6 7 $shift = 24,10 8 $ctrl = 14,10 9 $alt = 12,10 10 $cmd = 14,10 11 $b = 5,10 12 $f = 10,20 13 $two = 20,10 14 15 # Key rows 16 [ 0,0; 4,5:-; d$fn:0x01; $fn:+12; 15.5,6:-; 10,6:0x70068; 10,6:+2; 5,6:-; 10,6:+4; ] 17 [ 0,6; 4,5:-; :0x11+12; d$back:+; $b:-; :-; d:0x20; d:+1; $b:-; d:+1; d:0x6a; d:0x23+1 ] 18 [ 0,16; 4,5:-; 0,16; 4,5:-; d17,10:0x26; :+13; $b:-; d:0x34-0x36; $b:-; :+3; d:0x25 ] 19 [ 0,26; 4,5:led-caps; # integrated into caps key 20 d19,10:0x3b; :+11; d18,10:0x47; 40,10:-; :0x48-0x4a; d:0x3a ] 21 [ 0,36; 4,5:-; d24,10:0x4b; :+10; d23,10:+1; 15,10:-; d:+1; 15,10:-; :+3; d$f:+1 ] 22 [ 0,46; 4,5:-; d$ctrl:0x5c; d$alt:0x5d; d$cmd:0x66; 67,10:0x5e; d$cmd:0x67; 23 d$alt:0x5f; d$ctrl:0x60; $b:-; d:+3; $b:-; $two:+1; :+1 ] -
src/preferences/keymap/KeymapWindow.cpp
diff --git src/preferences/keymap/KeymapWindow.cpp src/preferences/keymap/KeymapWindow.cpp index 62924a2..53393b1 100644
KeymapWindow::_AddKeyboardLayouts(BMenu* menu) 537 537 if (menu->FindItem(ref.name) != NULL) 538 538 continue; 539 539 540 BMessage* message = new BMessage(kChangeKeyboardLayout); 541 message->AddRef("ref", &ref); 540 BDirectory subdirectory; 541 subdirectory.SetTo(&ref); 542 543 if (subdirectory.InitCheck() == B_OK) { 544 BMenu* submenu = new BMenu(ref.name); 545 submenu->SetRadioMode(true); 546 547 entry_ref subref; 548 549 while (subdirectory.GetNextRef(&subref) == B_OK) { 550 if (submenu->FindItem(subref.name) != NULL) 551 continue; 552 553 BMessage* message = new BMessage(kChangeKeyboardLayout); 554 message->AddRef("ref", &subref); 555 556 submenu->AddItem(new BMenuItem(subref.name, message)); 557 } 558 menu->AddItem(submenu); 559 } else { 560 BMessage* message = new BMessage(kChangeKeyboardLayout); 561 message->AddRef("ref", &ref); 542 562 543 menu->AddItem(new BMenuItem(ref.name, message)); 563 menu->AddItem(new BMenuItem(ref.name, message)); 564 } 544 565 } 545 566 } 546 567 } … … KeymapWindow::_SetKeyboardLayout(const char* path) 557 578 if (status == B_OK) { 558 579 // select item 559 580 for (int32 i = fLayoutMenu->CountItems(); i-- > 0;) { 560 BMenuItem* item = fLayoutMenu->ItemAt(i); 561 BMessage* message = item->Message(); 562 entry_ref ref; 563 if (message->FindRef("ref", &ref) == B_OK) { 564 BPath layoutPath(&ref); 565 if (layoutPath == path) { 566 item->SetMarked(true); 567 break; 581 BMenu *submenu = fLayoutMenu->SubmenuAt(i); 582 if (submenu == NULL) { 583 BMenuItem* item = fLayoutMenu->ItemAt(i); 584 BMessage* message = item->Message(); 585 entry_ref ref; 586 if (message->FindRef("ref", &ref) == B_OK) { 587 BPath layoutPath(&ref); 588 if (layoutPath == path) 589 item->SetMarked(true); 590 else 591 item->SetMarked(false); 592 } 593 } else { 594 for (int32 j = submenu->CountItems(); j-- > 0;) { 595 BMenuItem* item = submenu->ItemAt(j); 596 BMessage* message = item->Message(); 597 entry_ref ref; 598 if (message->FindRef("ref", &ref) == B_OK) { 599 BPath layoutPath(&ref); 600 if (layoutPath == path) 601 item->SetMarked(true); 602 else 603 item->SetMarked(false); 604 } 568 605 } 569 606 } 570 607 }