# Bazaar merge directive format 2 (Bazaar 0.90) # revision_id: address@hidden # 8ff6d3xgumr490c7 # target_branch: file:///home/abranches/GRUB/grub/ # testament_sha1: 8a81468fed40ede8bbced8c4fdc5ff74d7e8519c # timestamp: 2010-02-05 17:33:50 -0200 # base_revision_id: address@hidden # # Begin patch === modified file 'ChangeLog' --- ChangeLog 2010-02-02 23:49:35 +0000 +++ ChangeLog 2010-02-05 19:33:09 +0000 @@ -1,3 +1,7 @@ +2010-02-05 Manoel Rebelo Abranches + + * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add some unimplemented keys. + 2010-02-03 Vladimir Serbinenko * util/hostdisk.c (open_device): Don't use partition device when reading === modified file 'term/ieee1275/ofconsole.c' --- term/ieee1275/ofconsole.c 2010-01-22 19:42:02 +0000 +++ term/ieee1275/ofconsole.c 2010-02-05 19:33:09 +0000 @@ -156,41 +156,52 @@ grub_ieee1275_read (stdin_ihandle, &c, 1, &actual); - if (actual > 0 && c == '\e') - { - grub_ieee1275_read (stdin_ihandle, &c, 1, &actual); - if (actual <= 0) - { + if (actual > 0) + switch(c){ + case 0x7f: + /* Backspace: Ctrl-h. */ + c=8; + break; + case '\e': + grub_ieee1275_read (stdin_ihandle, &c, 1, &actual); + if (actual <= 0) + { *key = '\e'; return 1; } - - if (c != 91) - return 0; - - grub_ieee1275_read (stdin_ihandle, &c, 1, &actual); - if (actual <= 0) - return 0; - - switch (c) + + /*We expect the format \e[ in special keys. Anything else is just ignored.*/ + if (c != 91 ) + return 0; + + grub_ieee1275_read (stdin_ihandle, &c, 1, &actual); + if (actual <= 0) + return 0; + + switch (c) { - case 65: - /* Up: Ctrl-p. */ - c = 16; - break; - case 66: - /* Down: Ctrl-n. */ - c = 14; - break; - case 67: - /* Right: Ctrl-f. */ - c = 6; - break; - case 68: - /* Left: Ctrl-b. */ - c = 2; - break; + case 51: + /* Delete: Ctrl-d. */ + c = 4; + break; + case 65: + /* Up: Ctrl-p. */ + c = 16; + break; + case 66: + /* Down: Ctrl-n. */ + c = 14; + break; + case 67: + /* Right: Ctrl-f. */ + c = 6; + break; + case 68: + /* Left: Ctrl-b. */ + c = 2; + break; } + break; } *key = c; # Begin bundle IyBCYXphYXIgcmV2aXNpb24gYnVuZGxlIHY0CiMKQlpoOTFBWSZTWdLKDjMAAyhfgFUwcff//34G loy////4UAXvONraRQlhBCKDCSRTaCSbyRtDJoAp5DUxHkmmQxPUekG1DjJkyYjEwAmTBMgBowjA EMAlAiApnqmg9U/TVNP1NQ9TEB6gAND1GgA4yZMmIxMAJkwTIAaMIwBDAJJCZADST00FM0nplJo8 iep6nlMmmQBkekgklABWIxPZc6LrgohTDLegr8UIuMkB5+MZjbJNHKm6vDLDGEJDqSXVPFTTKLYY U4QoEqCNOMOqqh/CVuKSV7MySSx0SUgDEVI9D28uAf2e/8w/Sgw+A1wnOkUUVQVTpwXel3WGu38W NQkY2SGZuNSK5ZE9crKoubJgdq4fecvCg2xMzLqYRUwJIxxuhyfTSm9cf7OrLrlOkF8Vr+VLFDOZ waCAvUuKt23tbc2fiw+UMsGXe7HYk7FW9JcocPVxcYWpkR+5h2jCWEXSLo2Ri0QmWkiw1GjzQmiY GCN24CYc0cUFj82tCBkm4Zs8kH27nMijkQ2g0JVdiGrVFMpklO+6PcFNZRMCUVHFhkEUEHX2CsCK HdIxHqJljgSQkBJHan1FIHzQ4cwm4uLmCSS6ZI2SRRRRNHOnPphStD4JJLIO83CSYHXLMo4oFSxW lpAwp5NhdoimjlZL2wQ825kEjGYMoE7i0tUYwJBcKUBFDyUGqUiQszA1IeiNZQPP+htutdQi4mAx RQBUJgYChNHPAiSLT6XhuAuJNYrbSwYyvNAGDsDYqqsRiwcxjvakGKIIIxzMhiiSEVFDQTJkpVmb 6b91TlY3NeTm91uIrrUtvADPQ0NZMDFZncjLcZIc4VNODZogUlBbNGeE7HDphmRPPrRSWSrHm6w2 VmWlN1XsY1GB0AegHI66NYGdm4xAfroR0IlM1DkEgbKA8NoQ1V51bvh5HhizfZ7LJqy0LQmEMFmi LiL+AWxHK4olQuS5NrFBVNqnQOh7+I1Vmpzo2cgpEKwym3q7+5ObyvUxZod4VAguQkJSaqKorfWp gH7IeUmI7PX+4B5N6ZcX1dFxQ5ncxhyHLmOH4+McmUgeLMpIgx1HE46S+b0HjWUgxjNm9bylE5Mj Ih6Xsu1hsCvwAV5H8Xgg7pwKkuQKO7abjEWEpYYPDqIztJTKX0W5xu4gVHEGRWZSgn9U4QeSPTzz +Z8kESHUWjSPH6ys8QLpNUcDrRcspOarUa8HTI9CI44m1o50rOCUaEdrDl4nJ2/WA4tB4Nal0nYd hrORb/KLj1rWQLDeEe5Lz7TY/tPrBB0IzvGO+wmYcsNpav6LN8mH33jkMd5NkHqJnvXtNhjaSiXI n0oh57V561M45EjM704V2mDkb3GQawWIyCpV1JG22lH7jAyjSHRy4kUeBodIDpnA2JQW8CxfI9Ri TYJ9j5VpHMhiTchuw89ptOCPUC9qVTZRTHs8zIhcehDtNIDsVrL8Rrvolt3DiQvGHwzLrfAsRmFI WyIjNSLnRizvhWgbqQfk6d0RsNQR1mZHOlQWldRFaWtMsIs6LYSoHEpMhwMZiSSHe9HUhtZPILsL h3JDgcVqR6dl5nGPNQLwPjJ9ZJ2LtjKoZQG0TxIehh+jx6jWOWEUsEosJl7vTqW1F/Wug5s2B4SN 4ehKpJhrUH4OSs5IGBkW3B3o4QXlq/FkGDjknwq9iyBEou2ULVTKI5ccso2NBUj6ovIfnOBWAwmL kPAXUDJOdQB9crfW4uZPrlsE4qDAfDEII+YRHMdiHJy62Qb01Iwhsg2E0s9YXKpAxIOpKZ3NYTbt Khff8ri/s7PbmZETA6wp1DF74GUxU+4K0aQ0doPNqC1Fa8RMqGC/JGBAvQyPXqvAtLIn08gtVaD7 miY84gQFdU41Idg6Qh6Skl2GoHpr/X/F3JFOFCQ0soOMwA==