В общем "накодил" (если быть точнее собрал по сусекам да допилил) для своего удобства такой скриптец.
Повесил его на горячую клавишу Ctrl + Alt + Shift + End. При исполнении вызывается (ненужное) palette - окошко, после чего цифровая клавиатура выполняет роль смены точки привязки в Indesign. Люблю просто shortcut-ы, и лень мышкой тянуться в панельку для смены. + Такая комбинация IMHO очень наглядна 1 - нижний левый угол, 9 - верхний правый.
Код:
Но есть вопрос - как-то не кошерно, вызывается ненужное окно на которое вешается listener. - можно listener в Индизайне повесить на .. что-то не GUI-ное.
Но в тоже время, что бы после вызова скрипта я мог нажать на numLock цифру 5 и она не вставилась в текст (если я нахожусь в режиме редактирования текста), ну в смысле, не передалась в Индизайн, а просто вызвала функцию скрипта. Куда вообще можно добавить addEventListener ? Как-то туго у меня поиск по reference идет... Все что я нахожу по слушателям к гую относиться..
Вопрос вторичный - в этом скрипте пытался сделать через switch - не получилось, ругался на втором "выборе" что-то типа incorect ; - хотя вроде все было верно... Есть какие-то нюансы обработки Javascript в данном случае?
Повесил его на горячую клавишу Ctrl + Alt + Shift + End. При исполнении вызывается (ненужное) palette - окошко, после чего цифровая клавиатура выполняет роль смены точки привязки в Indesign. Люблю просто shortcut-ы, и лень мышкой тянуться в панельку для смены. + Такая комбинация IMHO очень наглядна 1 - нижний левый угол, 9 - верхний правый.
Код:
Код:
#targetengine "doSomethingWithMultiselect"var w = new Window("palette");
var butStart = w.add("button",undefined,"Anchore 123456789");
var started = false;
w.addEventListener ("keydown", function (kd) {pressed (kd)});
function pressed (k) {
//1
if (k.keyIdentifier == "U+0031") {
app.activeWindow.transformReferencePoint = AnchorPoint.BOTTOM_LEFT_ANCHOR
w.close();
exit
}
//2
if (k.keyIdentifier == "U+0032") {
app.activeWindow.transformReferencePoint = AnchorPoint.BOTTOM_CENTER_ANCHOR
w.close();
exit
}
//3
if (k.keyIdentifier == "U+0033") {
app.activeWindow.transformReferencePoint = AnchorPoint.BOTTOM_RIGHT_ANCHOR
w.close();
exit
}
//4
if (k.keyIdentifier == "U+0034") {
app.activeWindow.transformReferencePoint = AnchorPoint.LEFT_CENTER_ANCHOR
w.close();
exit
}
//5
if (k.keyIdentifier == "U+0035") {
app.activeWindow.transformReferencePoint = AnchorPoint.CENTER_ANCHOR
w.close();
exit
}
//6
if (k.keyIdentifier == "U+0036") {
app.activeWindow.transformReferencePoint = AnchorPoint.RIGHT_CENTER_ANCHOR
w.close();
exit
}
//7
if (k.keyIdentifier == "U+0037") {
app.activeWindow.transformReferencePoint = AnchorPoint.TOP_LEFT_ANCHOR
w.close();
exit
}
//8
if (k.keyIdentifier == "U+0038") {
app.activeWindow.transformReferencePoint = AnchorPoint.TOP_CENTER_ANCHOR
w.close();
exit
}
//9
if (k.keyIdentifier == "U+0039") {
app.activeWindow.transformReferencePoint = AnchorPoint.TOP_RIGHT_ANCHOR
w.close();
exit
}
}
w.show();
Но в тоже время, что бы после вызова скрипта я мог нажать на numLock цифру 5 и она не вставилась в текст (если я нахожусь в режиме редактирования текста), ну в смысле, не передалась в Индизайн, а просто вызвала функцию скрипта. Куда вообще можно добавить addEventListener ? Как-то туго у меня поиск по reference идет... Все что я нахожу по слушателям к гую относиться..
Вопрос вторичный - в этом скрипте пытался сделать через switch - не получилось, ругался на втором "выборе" что-то типа incorect ; - хотя вроде все было верно... Есть какие-то нюансы обработки Javascript в данном случае?